891_B. Gluttony_36801
You are given an array a with n distinct integers. Construct an array b by permuting a such that for every non-empty subset of indices S = {x1, x2, ..., xk} (1 ≤ xi ≤ n, 0 < k < n) the sums of elements on that positions in a and b are different, i. e. 

<image>

Input

The first line contains one integer n (1 ≤ n ≤ 22) — the size of the array.

The second line contains n space-separated distinct integers a1, a2, ..., an (0 ≤ ai ≤ 109) — the elements of the array.

Output

If there is no such array b, print -1.

Otherwise in the only line print n space-separated integers b1, b2, ..., bn. Note that b must be a permutation of a.

If there are multiple answers, print any of them.

Examples

Input

2
1 2


Output

2 1 


Input

4
1000 100 10 1


Output

100 1 1000 10

Note

An array x is a permutation of y, if we can shuffle elements of y such that it will coincide with x.

Note that the empty subset and the subset containing all indices are not counted.
import java.io.*;
import java.util.Arrays;
import java.util.StringTokenizer;

public class B {

	public static void main(String[] args) throws Exception {

		Scanner sc = new Scanner(System.in);
		PrintWriter out = new PrintWriter(System.out);

		int n = sc.nextInt();

		int[] a = new int[n];
		Integer[] id = new Integer[n];
		for(int i = 0; i < n; ++i)
			a[id[i] = i] = sc.nextInt();
	
		Arrays.sort(id, (x, y)->Integer.compare(a[x], a[y]));
		int[] b = new int[n];
		for(int i = 0; i < n; ++i)
			b[id[i]] = a[id[(i + 1) % n]];
		for(int x: b)
			out.print(x + " ");
		out.close();
	}

	static class Scanner
	{
		StringTokenizer st;
		BufferedReader br;

		public Scanner(InputStream s){	br = new BufferedReader(new InputStreamReader(s));}

		public Scanner(FileReader s) throws FileNotFoundException {	br = new BufferedReader(s);}

		public String next() throws IOException
		{
			while (st == null || !st.hasMoreTokens())
				st = new StringTokenizer(br.readLine());
			return st.nextToken();
		}

		public int nextInt() throws IOException {return Integer.parseInt(next());}

		public long nextLong() throws IOException {return Long.parseLong(next());}

		public String nextLine() throws IOException {return br.readLine();}

		public double nextDouble() throws IOException { return Double.parseDouble(next()); }

		public boolean ready() throws IOException {return br.ready();}
	}
}
4
1000 100 10 1
 2
1 2
 22
17 10 24 44 41 33 48 6 30 27 38 19 16 46 22 8 35 13 5 9 4 1
 22
79749952 42551386 1000000000 60427603 50702468 16899307 85913428 116634789 151569595 100251788 152378664 96284924 60769416 136345503 59995727 88224321 29257228 64921932 77805288 126026727 103477637 115959196
 22
116213533 171312666 76695399 60099180 30779320 43431323 146620629 15321904 71245898 94843310 56549974 104020167 84091716 134384095 24383373 83975332 1000000000 101710173 188076412 199811222 153566780 115893674
 22
33 2 19 26 18 13 27 9 25 35 6 24 20 22 11 5 1 30 17 15 7 29
 1
10000000
 22
32 43 3 37 29 42 40 12 28 1 14 25 34 46 8 35 5 17 2 23 20 9
 22
83255567 39959119 124812899 157774437 12694468 89732189 102545715 67019496 110206980 98186415 63181429 141617294 177406424 195504716 158928060 64956133 67949891 31436243 155002729 1000000000 128745406 52504492
 22
32119698 129510003 107370317 182795872 160438101 17245069 117836566 141016185 196664039 215252245 170450315 18866624 68629021 47385728 77249092 89835593 132769095 95649030 48749357 126701972 40219294 1000000000
 22
12 38 6 37 14 26 2 0 9 17 28 33 3 11 15 8 31 21 29 34 18 24
 22
7 10 1 25 42 8 39 35 6 19 31 24 16 0 21 32 11 28 13 4 37 22
 22
9 13 7 20 38 40 27 12 31 25 1 23 46 35 45 29 19 16 33 4 42 39
 22
27 21 12 14 8 40 47 45 24 49 36 37 17 32 42 13 35 10 18 2 5 30
 22
177663922 168256855 139197944 78700101 93490895 127229611 46317725 84284513 48674853 66142856 29224095 1000000000 138390832 117500569 98525700 100418194 44827621 151960474 43225995 16918107 53307514 48861499
 22
36 5 7 22 33 30 14 8 25 24 28 12 19 29 37 2 20 15 10 17 13 21
 22
94506085 195061283 78884975 27418524 41348358 185397891 151515774 66605535 170723638 212843258 218566729 7450050 21809921 1000000000 146101141 132453297 228865386 240705035 57636433 114219677 158240908 228428432
 22
28 40 5 38 29 12 21 24 2 33 35 17 30 11 16 0 8 27 34 14 19 36
 12
7 1 62 12 3 5 8 9 10 22 23 0
 4
1 5 8 4
 22
41 12 14 36 16 21 0 2 18 22 39 29 40 31 37 25 28 9 4 34 6 43
 22
2 22 21 19 3 25 28 11 10 9 14 37 18 38 15 23 20 34 7 30 31 4
 17
1 3 2 5 4 6 7 8 10 9 13 11 12 14 15 16 18
 22
25 12 38 5 6 20 30 27 4 19 8 18 10 17 26 32 43 14 40 35 1 22
 5
1 3 4 5 2
 22
133295371 188010892 71730560 209842234 193069109 184556873 87395258 234247052 230809052 211444018 148989732 17810977 158722706 11753932 100093528 1000000000 43672080 61357581 171830832 13873487 34865589 114340079
 22
7 0 23 37 20 18 46 26 2 24 44 13 47 15 32 5 35 30 39 41 27 10
 22
138499935 195582510 159774498 12295611 37071371 91641202 167958938 119995178 19438466 182405139 207729895 56797798 79876605 152841775 1000000000 149079380 158867321 154637978 72179187 75460169 145092927 103227705
 3
1 3 2
 22
23 32 13 39 29 41 40 6 21 10 38 42 4 8 20 35 31 26 15 2 17 5
 22
106855341 41953605 16663229 140358177 145011760 49391214 42672526 1000000000 173686818 18529133 155326121 177597841 65855243 125680752 111261017 47020618 35558283 100881772 149421816 84207033 181739589 185082482
 22
17 6 1 22 9 23 38 40 10 20 29 11 12 39 3 32 26 4 13 36 14 35
 22
18 37 15 33 35 5 14 1 0 27 22 11 40 20 13 2 30 21 8 25 32 16
 4
3 1 2 4
 22
4 24 22 18 28 3 17 8 29 20 11 15 13 2 19 26 5 36 33 14 30 25
 22
13 2 10 25 5 34 19 18 16 9 7 22 28 20 31 38 36 35 1 26 6 23
 22
148671024 180468173 99388811 78666746 187172484 157360521 112604605 2988530 60271244 163263697 27469084 166381131 1000000000 125847469 137766458 198740424 88387613 15152912 200315776 149201551 45997250 36252057
 22
20 38 26 32 36 8 44 0 40 41 35 21 11 17 29 33 1 42 24 14 5 3
 22
16 11 29 30 12 5 3 2 13 6 17 15 9 24 25 35 1 27 0 23 20 33
 22
1 3 5 7 22 2 4 6 8 9 10 11 12 13 15 14 17 18 16 20 19 23
 22
17 10 24 44 41 33 48 7 30 27 38 19 16 46 22 8 35 13 5 9 4 1
 22
79749952 42551386 1000000000 60427603 50702468 16899307 85913428 116634789 151569595 41503263 152378664 96284924 60769416 136345503 59995727 88224321 29257228 64921932 77805288 126026727 103477637 115959196
 22
116213533 251962456 76695399 60099180 30779320 43431323 146620629 15321904 71245898 94843310 56549974 104020167 84091716 134384095 24383373 83975332 1000000000 101710173 188076412 199811222 153566780 115893674
 22
33 2 19 26 18 13 27 9 25 35 6 24 20 28 11 5 1 30 17 15 7 29
 1
10001000
 22
32 43 3 37 29 52 40 12 28 1 14 25 34 46 8 35 5 17 2 23 20 9
 22
83255567 39959119 124812899 157774437 12694468 89732189 102545715 67019496 110206980 130749435 63181429 141617294 177406424 195504716 158928060 64956133 67949891 31436243 155002729 1000000000 128745406 52504492
 22
32119698 129510003 107370317 182795872 160438101 17245069 117836566 141016185 196664039 287154555 170450315 18866624 68629021 47385728 77249092 89835593 132769095 95649030 48749357 126701972 40219294 1000000000
 22
27 1 12 14 8 40 47 45 24 49 36 37 17 32 42 13 35 10 18 2 5 30
 22
177663922 168256855 139197944 78700101 93490895 127229611 79842940 84284513 48674853 66142856 29224095 1000000000 138390832 117500569 98525700 100418194 44827621 151960474 43225995 16918107 53307514 48861499
 22
36 5 7 22 33 30 14 8 25 24 4 12 19 29 37 2 20 15 10 17 13 21
 22
94506085 195061283 78884975 27418524 41348358 185397891 151515774 66605535 170723638 212843258 218566729 7450050 21809921 1000000000 146101141 132453297 228865386 240705035 57636433 73580840 158240908 228428432
 22
28 40 9 38 29 12 21 24 2 33 35 17 30 11 16 0 8 27 34 14 19 36
 12
7 1 62 12 3 5 8 9 10 22 23 -1
 22
2 22 21 19 5 25 28 11 10 9 14 37 18 38 15 23 20 34 7 30 31 4
 22
133295371 188010892 71730560 282666912 193069109 184556873 87395258 234247052 230809052 211444018 148989732 17810977 158722706 11753932 100093528 1000000000 43672080 61357581 171830832 13873487 34865589 114340079
 22
7 0 23 37 20 18 46 26 4 24 44 13 47 15 32 5 35 30 39 41 27 10
 22
138499935 195582510 70808669 12295611 37071371 91641202 167958938 119995178 19438466 182405139 207729895 56797798 79876605 152841775 1000000000 149079380 158867321 154637978 72179187 75460169 145092927 103227705
 22
23 32 13 39 29 41 40 6 21 10 38 42 4 16 20 35 31 26 15 2 17 5
 22
106855341 41953605 16663229 140358177 145011760 49391214 42672526 1000000000 173686818 18529133 155326121 177597841 65855243 125680752 57527266 47020618 35558283 100881772 149421816 84207033 181739589 185082482
 22
18 37 15 33 35 5 14 1 0 27 22 12 40 20 13 2 30 21 8 25 32 16
 4
3 1 2 8
 22
4 24 22 18 28 3 17 8 29 20 11 15 13 2 19 26 5 36 33 14 6 25
 22
148671024 180468173 99388811 78666746 187172484 157360521 112604605 2988530 60271244 163263697 52037227 166381131 1000000000 125847469 137766458 198740424 88387613 15152912 200315776 149201551 45997250 36252057
 4
0000 100 10 1
 2
1 4
 22
79749952 42551386 1000000000 60427603 76429061 16899307 85913428 116634789 151569595 41503263 152378664 96284924 60769416 136345503 59995727 88224321 29257228 64921932 77805288 126026727 103477637 115959196
 22
116213533 251962456 76695399 60099180 30779320 43431323 146620629 15321904 71245898 94843310 56549974 104020167 84091716 134384095 24383373 129072327 1000000000 101710173 188076412 199811222 153566780 115893674
 22
33 2 19 26 18 13 27 9 25 35 6 24 20 28 11 5 1 30 17 15 7 37
 1
10001001
 22
32 43 3 37 29 52 40 12 28 1 14 31 34 46 8 35 5 17 2 23 20 9
 22
83255567 39959119 124812899 157774437 20437866 89732189 102545715 67019496 110206980 130749435 63181429 141617294 177406424 195504716 158928060 64956133 67949891 31436243 155002729 1000000000 128745406 52504492
 22
32119698 129510003 107370317 182795872 160438101 17245069 117836566 141016185 196664039 287154555 170450315 18866624 68629021 47385728 77249092 89835593 132769095 95649030 48749357 126701972 64435553 1000000000
 22
27 1 12 14 8 40 47 45 24 34 36 37 17 32 42 13 35 10 18 2 5 30
 22
177663922 168256855 139197944 78700101 93490895 127229611 79842940 84284513 48674853 66142856 29224095 1000000000 138390832 117500569 98525700 130327727 44827621 151960474 43225995 16918107 53307514 48861499
 22
94506085 195061283 78884975 27418524 41348358 185397891 151515774 66605535 170723638 212843258 218566729 7450050 35216681 1000000000 146101141 132453297 228865386 240705035 57636433 73580840 158240908 228428432
 22
28 40 9 38 29 12 21 24 2 33 35 17 30 11 16 0 8 27 34 14 19 51
 12
7 1 62 12 3 5 8 13 10 22 23 -1
 22
133295371 188010892 71730560 282666912 193069109 184556873 87395258 234247052 230809052 211444018 148989732 17810977 158722706 11753932 100093528 1000000000 43672080 61357581 171830832 13873487 34865589 169181374
 22
11 0 23 37 20 18 46 26 4 24 44 13 47 15 32 5 35 30 39 41 27 10
 22
138499935 195582510 70808669 12295611 37071371 91641202 167958938 119995178 19438466 182405139 207729895 56797798 108342653 152841775 1000000000 149079380 158867321 154637978 72179187 75460169 145092927 103227705
 22
106855341 41953605 16663229 140358177 145011760 49391214 42672526 1000000000 173686818 18529133 155326121 90485366 65855243 125680752 57527266 47020618 35558283 100881772 149421816 84207033 181739589 185082482
 22
18 37 15 33 35 5 14 1 0 27 22 12 40 20 10 2 30 21 8 25 32 16
 22
4 24 22 16 28 3 17 8 29 20 11 15 13 2 19 26 5 36 33 14 6 25
 22
148671024 180468173 99388811 78666746 187172484 157360521 112604605 2988530 60271244 163263697 52037227 166381131 1000000000 125847469 137766458 198740424 88387613 15152912 53599375 149201551 45997250 36252057
 4
0000 100 7 1
 2
1 7
 22
79749952 18582369 1000000000 60427603 76429061 16899307 85913428 116634789 151569595 41503263 152378664 96284924 60769416 136345503 59995727 88224321 29257228 64921932 77805288 126026727 103477637 115959196
 22
116213533 251962456 76695399 60099180 30779320 43431323 146620629 15321904 71245898 94843310 56549974 104020167 124571013 134384095 24383373 129072327 1000000000 101710173 188076412 199811222 153566780 115893674
 22
33 2 19 26 18 13 27 4 25 35 6 24 20 28 11 5 1 30 17 15 7 37
 1
00001001
 22
32 43 3 37 29 52 40 12 28 1 14 27 34 46 8 35 5 17 2 23 20 9
 22
83255567 39959119 124812899 157774437 20437866 89732189 102545715 67019496 58873666 130749435 63181429 141617294 177406424 195504716 158928060 64956133 67949891 31436243 155002729 1000000000 128745406 52504492
 22
32119698 129510003 107370317 182795872 160438101 17245069 117836566 141016185 196664039 414654376 170450315 18866624 68629021 47385728 77249092 89835593 132769095 95649030 48749357 126701972 64435553 1000000000
 22
27 1 12 14 8 40 47 45 24 34 36 53 17 32 42 13 35 10 18 2 5 30
 22
177663922 168256855 237768777 78700101 93490895 127229611 79842940 84284513 48674853 66142856 29224095 1000000000 138390832 117500569 98525700 130327727 44827621 151960474 43225995 16918107 53307514 48861499
 22
94506085 195061283 78884975 36711728 41348358 185397891 151515774 66605535 170723638 212843258 218566729 7450050 35216681 1000000000 146101141 132453297 228865386 240705035 57636433 73580840 158240908 228428432
 22
28 40 9 38 29 12 21 24 2 1 35 17 30 11 16 0 8 27 34 14 19 51
 22
133295371 188010892 71730560 282666912 193069109 184556873 87395258 234247052 230809052 265989195 148989732 17810977 158722706 11753932 100093528 1000000000 43672080 61357581 171830832 13873487 34865589 169181374
 22
138499935 195582510 70808669 12295611 37071371 91641202 167958938 119995178 19438466 182405139 207729895 56797798 113303283 152841775 1000000000 149079380 158867321 154637978 72179187 75460169 145092927 103227705
 22
106855341 41953605 16663229 140358177 145011760 49391214 42672526 1000000000 173686818 18529133 155326121 90485366 65855243 125680752 57527266 47020618 35558283 100881772 149421816 84207033 143096680 185082482
 22
18 37 15 33 35 5 14 1 0 27 22 12 40 20 10 2 30 6 8 25 32 16
 22
4 38 22 18 28 3 17 8 29 20 11 15 13 2 19 26 5 36 33 14 6 25
 22
148671024 180468173 99388811 78666746 187172484 157360521 112604605 2988530 60271244 163263697 52037227 166381131 1000000001 125847469 137766458 198740424 88387613 15152912 53599375 149201551 45997250 36252057
 4
0010 100 7 1
 2
1 0
 22
79749952 18582369 1000000000 60427603 76429061 16899307 85913428 116634789 151569595 41503263 152378664 96284924 60769416 136345503 59995727 88224321 29257228 64921932 77805288 126026727 103477637 95437920
 22
116213533 251962456 76695399 60099180 30779320 43431323 146620629 15321904 47241656 94843310 56549974 104020167 124571013 134384095 24383373 129072327 1000000000 101710173 188076412 199811222 153566780 115893674
 1
00011001
 22
83255567 39959119 124812899 157774437 20437866 89732189 102545715 67019496 58873666 130749435 63181429 141617294 177406424 263610256 158928060 64956133 67949891 31436243 155002729 1000000000 128745406 52504492
 22
32119698 129510003 107370317 182795872 160438101 17245069 117836566 141016185 196664039 414654376 170450315 18866624 68629021 47385728 77249092 89835593 132769095 95649030 48749357 246022138 64435553 1000000000
 22
27 1 12 14 8 40 47 45 24 34 36 53 4 32 42 13 35 10 18 2 5 30
 22
177663922 168256855 237768777 78700101 93490895 127229611 79842940 84284513 48674853 66142856 29224095 1000000000 96895054 117500569 98525700 130327727 44827621 151960474 43225995 16918107 53307514 48861499
 22
94506085 195061283 78884975 36711728 41902452 185397891 151515774 66605535 170723638 212843258 218566729 7450050 35216681 1000000000 146101141 132453297 228865386 240705035 57636433 73580840 158240908 228428432
 22
28 40 9 38 29 12 21 24 2 1 35 17 30 11 16 0 8 27 34 14 19 43
 22
133295371 188010892 71730560 282666912 193069109 184556873 87395258 234247052 230809052 265989195 148989732 17810977 158722706 11753932 100093528 1000000000 43672080 61357581 171830832 13873487 56878136 169181374
 22
138499935 195582510 70808669 12295611 37071371 91641202 167958938 222883466 19438466 182405139 207729895 56797798 113303283 152841775 1000000000 149079380 158867321 154637978 72179187 75460169 145092927 103227705
 22
106855341 41953605 16663229 25901282 145011760 49391214 42672526 1000000000 173686818 18529133 155326121 90485366 65855243 125680752 57527266 47020618 35558283 100881772 149421816 84207033 143096680 185082482
 22
18 37 15 33 35 5 14 1 0 27 11 12 40 20 10 2 30 6 8 25 32 16
 22
148671024 180468173 17464755 78666746 187172484 157360521 112604605 2988530 60271244 163263697 52037227 166381131 1000000001 125847469 137766458 198740424 88387613 15152912 53599375 149201551 45997250 36252057

1 1000 100 10  2 1  19 13 27 46 44 35 1 8 33 30 41 22 17 48 24 9 38 16 6 10 5 4  85913428 50702468 16899307 60769416 59995727 29257228 88224321 126026727 152378664 103477637 1000000000 100251788 64921932 151569595 60427603 96284924 42551386 77805288 79749952 136345503 115959196 116634789  134384095 188076412 83975332 71245898 43431323 56549974 153566780 24383373 76695399 101710173 60099180 115893674 94843310 146620629 30779320 84091716 15321904 104020167 199811222 1000000000 171312666 116213533  35 5 20 27 19 15 29 11 26 1 7 25 22 24 13 6 2 33 18 17 9 30  10000000  34 46 5 40 32 43 42 14 29 2 17 28 35 1 9 37 8 20 3 25 23 12  89732189 52504492 128745406 158928060 31436243 98186415 110206980 67949891 124812899 102545715 64956133 155002729 195504716 1000000000 177406424 67019496 83255567 39959119 157774437 12694468 141617294 63181429  40219294 132769095 117836566 196664039 170450315 18866624 126701972 160438101 215252245 1000000000 182795872 32119698 77249092 48749357 89835593 95649030 141016185 107370317 68629021 129510003 47385728 17245069  14 0 8 38 15 28 3 2 11 18 29 34 6 12 17 9 33 24 31 37 21 26  8 11 4 28 0 10 42 37 7 21 32 25 19 1 22 35 13 31 16 6 39 24  12 16 9 23 39 42 29 13 33 27 4 25 1 38 46 31 20 19 35 7 45 40  30 24 13 17 10 42 49 47 27 2 37 40 18 35 45 14 36 12 21 5 8 32  1000000000 177663922 151960474 84284513 98525700 138390832 48674853 93490895 48861499 78700101 43225995 16918107 139197944 127229611 100418194 117500569 46317725 168256855 44827621 29224095 66142856 53307514  37 7 8 24 36 33 15 10 28 25 29 13 20 30 2 5 21 17 12 19 14 22  114219677 212843258 94506085 41348358 57636433 195061283 158240908 78884975 185397891 218566729 228428432 21809921 27418524 7450050 151515774 146101141 240705035 1000000000 66605535 132453297 170723638 228865386  29 0 8 40 30 14 24 27 5 34 36 19 33 12 17 2 11 28 35 16 21 38  8 3 0 22 5 7 9 10 12 23 62 1  4 8 1 5  43 14 16 37 18 22 2 4 21 25 40 31 41 34 39 28 29 12 6 36 9 0  3 23 22 20 4 28 30 14 11 10 15 38 19 2 18 25 21 37 9 31 34 7  2 4 3 6 5 7 8 9 11 10 14 12 13 15 16 18 1  26 14 40 6 8 22 32 30 5 20 10 19 12 18 27 35 1 17 43 38 4 25  2 4 5 1 3  148989732 193069109 87395258 211444018 209842234 188010892 100093528 1000000000 234247052 230809052 158722706 34865589 171830832 13873487 114340079 11753932 61357581 71730560 184556873 17810977 43672080 133295371  10 2 24 39 23 20 47 27 5 26 46 15 0 18 35 7 37 32 41 44 30 13  145092927 207729895 167958938 19438466 56797798 103227705 182405139 138499935 37071371 195582510 1000000000 72179187 91641202 154637978 12295611 152841775 159774498 158867321 75460169 79876605 149079380 119995178  2 1 3  26 35 15 40 31 42 41 8 23 13 39 2 5 10 21 38 32 29 17 4 20 6  111261017 42672526 18529133 145011760 149421816 65855243 47020618 16663229 177597841 35558283 173686818 181739589 84207033 140358177 125680752 49391214 41953605 106855341 155326121 100881772 185082482 1000000000  20 9 3 23 10 26 39 1 11 22 32 12 13 40 4 35 29 6 14 38 17 36  20 40 16 35 37 8 15 2 1 30 25 13 0 21 14 5 32 22 11 27 33 18  4 2 3 1  5 25 24 19 29 4 18 11 30 22 13 17 14 3 20 28 8 2 36 15 33 26  16 5 13 26 6 35 20 19 18 10 9 23 31 22 34 1 38 36 2 28 7 25  149201551 187172484 112604605 88387613 198740424 163263697 125847469 15152912 78666746 166381131 36252057 180468173 2988530 137766458 148671024 200315776 99388811 27469084 1000000000 157360521 60271244 45997250  21 40 29 33 38 11 0 1 41 42 36 24 14 20 32 35 3 44 26 17 8 5  17 12 30 33 13 6 5 3 15 9 20 16 11 25 27 0 2 29 1 24 23 35  2 4 6 8 23 3 5 7 9 10 11 12 13 14 16 15 18 19 17 22 20 1  19 13 27 46 44 35 1 8 33 30 41 22 17 48 24 9 38 16 7 10 5 4 
 85913428 50702468 16899307 60769416 59995727 29257228 88224321 126026727 152378664 42551386 1000000000 103477637 64921932 151569595 60427603 96284924 41503263 77805288 79749952 136345503 115959196 116634789 
 134384095 1000000000 83975332 71245898 43431323 56549974 153566780 24383373 76695399 101710173 60099180 115893674 94843310 146620629 30779320 84091716 15321904 104020167 199811222 251962456 188076412 116213533 
 35 5 20 27 19 15 28 11 26 1 7 25 24 29 13 6 2 33 18 17 9 30 
 10001000 
 34 46 5 40 32 1 43 14 29 2 17 28 35 52 9 37 8 20 3 25 23 12 
 89732189 52504492 128745406 158928060 31436243 102545715 110206980 67949891 124812899 141617294 64956133 155002729 195504716 1000000000 177406424 67019496 83255567 39959119 157774437 12694468 130749435 63181429 
 40219294 132769095 117836566 196664039 170450315 18866624 126701972 160438101 287154555 1000000000 182795872 32119698 77249092 48749357 89835593 95649030 141016185 107370317 68629021 129510003 47385728 17245069 
 30 2 13 17 10 42 49 47 27 1 37 40 18 35 45 14 36 12 24 5 8 32 
 1000000000 177663922 151960474 79842940 98525700 138390832 84284513 93490895 48861499 78700101 43225995 16918107 139197944 127229611 100418194 117500569 48674853 168256855 44827621 29224095 66142856 53307514 
 37 7 8 24 36 33 15 10 29 25 5 13 20 30 2 4 21 17 12 19 14 22 
 132453297 212843258 94506085 41348358 57636433 195061283 158240908 73580840 185397891 218566729 228428432 21809921 27418524 7450050 151515774 146101141 240705035 1000000000 66605535 78884975 170723638 228865386 
 29 0 11 40 30 14 24 27 8 34 36 19 33 12 17 2 9 28 35 16 21 38 
 8 3 -1 22 5 7 9 10 12 23 62 1 
 4 23 22 20 7 28 30 14 11 10 15 38 19 2 18 25 21 37 9 31 34 5 
 148989732 193069109 87395258 1000000000 211444018 188010892 100093528 282666912 234247052 230809052 158722706 34865589 171830832 13873487 114340079 11753932 61357581 71730560 184556873 17810977 43672080 133295371 
 10 4 24 39 23 20 47 27 5 26 46 15 0 18 35 7 37 32 41 44 30 13 
 145092927 207729895 72179187 19438466 56797798 103227705 182405139 138499935 37071371 195582510 1000000000 70808669 91641202 154637978 12295611 152841775 167958938 158867321 75460169 79876605 149079380 119995178 
 26 35 15 40 31 42 41 10 23 13 39 2 5 17 21 38 32 29 16 4 20 6 
 125680752 42672526 18529133 145011760 149421816 57527266 47020618 16663229 177597841 35558283 173686818 181739589 84207033 140358177 65855243 49391214 41953605 106855341 155326121 100881772 185082482 1000000000 
 20 40 16 35 37 8 15 2 1 30 25 13 0 21 14 5 32 22 12 27 33 18 
 8 2 3 1 
 5 25 24 19 29 4 18 11 33 22 13 17 14 3 20 28 6 2 36 15 8 26 
 149201551 187172484 112604605 88387613 198740424 163263697 125847469 15152912 78666746 166381131 60271244 180468173 2988530 137766458 148671024 200315776 99388811 36252057 1000000000 157360521 52037227 45997250 
 1 0 100 10 
 4 1 
 85913428 59995727 16899307 60769416 77805288 29257228 88224321 126026727 152378664 42551386 1000000000 103477637 64921932 151569595 60427603 96284924 41503263 76429061 79749952 136345503 115959196 116634789 
 129072327 1000000000 84091716 71245898 43431323 56549974 153566780 24383373 76695399 101710173 60099180 115893674 94843310 146620629 30779320 134384095 15321904 104020167 199811222 251962456 188076412 116213533 
 35 5 20 27 19 15 28 11 26 37 7 25 24 30 13 6 2 33 18 17 9 1 
 10001001 
 34 46 5 40 31 1 43 14 29 2 17 32 35 52 9 37 8 20 3 28 23 12 
 89732189 52504492 128745406 158928060 31436243 102545715 110206980 67949891 124812899 141617294 64956133 155002729 195504716 1000000000 177406424 67019496 83255567 39959119 157774437 20437866 130749435 63181429 
 47385728 132769095 117836566 196664039 170450315 18866624 126701972 160438101 287154555 1000000000 182795872 32119698 77249092 48749357 89835593 95649030 141016185 107370317 64435553 129510003 68629021 17245069 
 30 2 13 17 10 42 1 47 27 35 37 40 18 34 45 14 36 12 24 5 8 32 
 1000000000 177663922 151960474 79842940 98525700 130327727 84284513 93490895 48861499 78700101 43225995 16918107 139197944 127229611 117500569 138390832 48674853 168256855 44827621 29224095 66142856 53307514 
 132453297 212843258 94506085 35216681 57636433 195061283 158240908 73580840 185397891 218566729 228428432 27418524 41348358 7450050 151515774 146101141 240705035 1000000000 66605535 78884975 170723638 228865386 
 29 51 11 40 30 14 24 27 8 34 38 19 33 12 17 2 9 28 35 16 21 0 
 8 3 -1 13 5 7 10 22 12 23 62 1 
 148989732 193069109 87395258 1000000000 211444018 188010892 100093528 282666912 234247052 230809052 158722706 34865589 169181374 13873487 133295371 11753932 61357581 71730560 184556873 17810977 43672080 171830832 
 13 4 24 39 23 20 47 27 5 26 46 15 0 18 35 10 37 32 41 44 30 11 
 145092927 207729895 72179187 19438466 56797798 103227705 182405139 138499935 37071371 195582510 1000000000 70808669 119995178 154637978 12295611 152841775 167958938 158867321 75460169 91641202 149079380 108342653 
 125680752 42672526 18529133 145011760 149421816 57527266 47020618 16663229 181739589 35558283 173686818 100881772 84207033 140358177 65855243 49391214 41953605 106855341 155326121 90485366 185082482 1000000000 
 20 40 16 35 37 8 15 2 1 30 25 14 0 21 12 5 32 22 10 27 33 18 
 5 25 24 17 29 4 19 11 33 22 13 16 14 3 20 28 6 2 36 15 8 26 
 149201551 187172484 112604605 88387613 198740424 163263697 125847469 15152912 78666746 166381131 53599375 180468173 2988530 137766458 148671024 1000000000 99388811 36252057 60271244 157360521 52037227 45997250 
 1 0 100 7 
 7 1 
 85913428 29257228 16899307 60769416 77805288 18582369 88224321 126026727 152378664 59995727 1000000000 103477637 64921932 151569595 60427603 96284924 41503263 76429061 79749952 136345503 115959196 116634789 
 124571013 1000000000 94843310 71245898 43431323 56549974 153566780 24383373 76695399 101710173 60099180 115893674 129072327 146620629 30779320 134384095 15321904 104020167 199811222 251962456 188076412 116213533 
 35 4 20 27 19 15 28 5 26 37 7 25 24 30 13 6 2 33 18 17 11 1 
 1001 
 34 46 5 40 32 1 43 14 29 2 17 28 35 52 9 37 8 20 3 27 23 12 
 89732189 52504492 128745406 158928060 31436243 102545715 124812899 67949891 63181429 141617294 64956133 155002729 195504716 1000000000 177406424 67019496 83255567 39959119 157774437 20437866 130749435 58873666 
 47385728 132769095 117836566 196664039 170450315 18866624 126701972 160438101 414654376 1000000000 182795872 32119698 77249092 48749357 89835593 95649030 141016185 107370317 64435553 129510003 68629021 17245069 
 30 2 13 17 10 42 53 47 27 35 40 1 18 34 45 14 36 12 24 5 8 32 
 237768777 177663922 1000000000 79842940 98525700 130327727 84284513 93490895 48861499 78700101 43225995 16918107 151960474 127229611 117500569 138390832 48674853 168256855 44827621 29224095 66142856 53307514 
 132453297 212843258 94506085 41348358 57636433 195061283 158240908 73580840 185397891 218566729 228428432 35216681 36711728 7450050 151515774 146101141 240705035 1000000000 66605535 78884975 170723638 228865386 
 29 51 11 40 30 14 24 27 8 2 38 19 34 12 17 1 9 28 35 16 21 0 
 148989732 193069109 87395258 1000000000 230809052 188010892 100093528 265989195 234247052 282666912 158722706 34865589 169181374 13873487 133295371 11753932 61357581 71730560 184556873 17810977 43672080 171830832 
 145092927 207729895 72179187 19438466 56797798 103227705 182405139 138499935 37071371 195582510 1000000000 70808669 119995178 154637978 12295611 152841775 167958938 158867321 75460169 91641202 149079380 113303283 
 125680752 42672526 18529133 143096680 149421816 57527266 47020618 16663229 185082482 35558283 173686818 100881772 84207033 140358177 65855243 49391214 41953605 106855341 155326121 90485366 145011760 1000000000 
 20 40 16 35 37 6 15 2 1 30 25 14 0 22 12 5 32 8 10 27 33 18 
 5 2 25 19 29 4 18 11 33 22 13 17 14 3 20 28 6 38 36 15 8 26 
 149201551 187172484 112604605 88387613 198740424 163263697 125847469 15152912 78666746 166381131 53599375 180468173 2988530 137766458 148671024 1000000001 99388811 36252057 60271244 157360521 52037227 45997250 
 100 1 10 7 
 0 1 
 85913428 29257228 16899307 60769416 77805288 18582369 88224321 126026727 152378664 59995727 1000000000 103477637 64921932 151569595 60427603 95437920 41503263 76429061 79749952 136345503 116634789 96284924 
 124571013 1000000000 94843310 76695399 43431323 47241656 153566780 24383373 56549974 101710173 60099180 115893674 129072327 146620629 30779320 134384095 15321904 104020167 199811222 251962456 188076412 116213533 
 11001 
 89732189 52504492 128745406 158928060 31436243 102545715 124812899 67949891 63181429 141617294 64956133 155002729 263610256 1000000000 177406424 67019496 83255567 39959119 157774437 20437866 130749435 58873666 
 47385728 132769095 117836566 196664039 170450315 18866624 129510003 160438101 246022138 1000000000 182795872 32119698 77249092 48749357 89835593 95649030 141016185 107370317 64435553 414654376 68629021 17245069 
 30 2 13 18 10 42 53 47 27 35 40 1 5 34 45 14 36 12 24 4 8 32 
 237768777 177663922 1000000000 79842940 96895054 130327727 84284513 93490895 48861499 78700101 43225995 16918107 98525700 127229611 117500569 151960474 48674853 168256855 44827621 29224095 66142856 53307514 
 132453297 212843258 94506085 41902452 57636433 195061283 158240908 73580840 185397891 218566729 228428432 35216681 36711728 7450050 151515774 146101141 240705035 1000000000 66605535 78884975 170723638 228865386 
 29 43 11 40 30 14 24 27 8 2 38 19 34 12 17 1 9 28 35 16 21 0 
 148989732 193069109 87395258 1000000000 230809052 188010892 100093528 265989195 234247052 282666912 158722706 43672080 169181374 13873487 133295371 11753932 56878136 71730560 184556873 17810977 61357581 171830832 
 145092927 207729895 72179187 19438466 56797798 103227705 182405139 1000000000 37071371 195582510 222883466 70808669 138499935 154637978 12295611 152841775 167958938 158867321 75460169 91641202 149079380 113303283 
 125680752 42672526 18529133 35558283 149421816 57527266 47020618 16663229 185082482 25901282 173686818 100881772 84207033 143096680 65855243 49391214 41953605 106855341 155326121 90485366 145011760 1000000000 
 20 40 16 35 37 6 15 2 1 30 12 14 0 25 11 5 32 8 10 27 33 18 
 149201551 187172484 36252057 88387613 198740424 163263697 125847469 15152912 78666746 166381131 53599375 180468173 2988530 137766458 148671024 1000000001 112604605 17464755 60271244 157360521 52037227 45997250 
