A过去后看了一下别人的解法,发现除了打表还有一种数论的方法。
分析一下阶乘后面的0是怎么出现的呢,当然是2乘5得到的。
我们将1~N先放在一个数组里面。
从数组第一个元素开始,先统计一下N!中因子为5的个数记为count,将其除去,然后再除去count个2。这样一来的话把所有元素乘起来后就不会出现10的倍数了。
当然并不是真正的乘起来,那样的话肯定是要溢出的,因为只关心最后一位数,所以每次乘完后求10的余数即可。
我的做法是打表,因为题目里给了N <= 10000的条件限制,所以可以把1~10000的阶乘的第一个非0的数先算出来放到数组里,然后求哪个输出哪个即可。
Just the Facts |
The expression N!, read as ``N factorial," denotes the product of the first N positive integers, where N is nonnegative. So, for example,
N | N! |
0 | 1 |
1 | 1 |
2 | 2 |
3 | 6 |
4 | 24 |
5 | 120 |
10 | 3628800 |
For this problem, you are to write a program that can compute the last non-zero digit of any factorial for ( ). For example, if your program is asked to compute the last nonzero digit of 5!, your program should produce ``2" because 5! = 120, and 2 is the last nonzero digit of 120.
Input
Input to the program is a series of nonnegative integers not exceeding 10000, each on its own line with no other letters, digits or spaces. For each integer N, you should read the value and compute the last nonzero digit of N!.
Output
For each integer input, the program should print exactly one line of output. Each line of output should contain the value N, right-justified in columns 1 through 5 with leading blanks, not leading zeroes. Columns 6 - 9 must contain `` -> " (space hyphen greater space). Column 10 must contain the single last non-zero digit of N!.
Sample Input
1 2 26 125 3125 9999
Sample Output
1 -> 1 2 -> 2 26 -> 4 125 -> 8 3125 -> 2 9999 -> 8
Miguel A. Revilla
1998-03-10 打表代码:
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 using namespace std; 5 6 int a[40000], b[10000 + 10]; 7 int f(int n); 8 9 int main(void) 10 { 11 freopen("asdasd.txt", "w", stdout); 12 a[0] = 1; 13 b[0] = b[1] = 1; 14 int i; 15 for(i = 2; i <= 10000; ++i) 16 { //乘以i 17 int k = i, c = 0; 18 while(k % 10 == 0) 19 k /= 10; 20 for(int j = 0; j < 40000; ++j) 21 { 22 int s = a[j] * k + c; 23 a[j] = s % 10; 24 c = s / 10; 25 } 26 b[i] = f(i); 27 } 28 for(i = 0; i <= 10000; ++i) 29 { 30 printf("%d,", b[i]); 31 if(i % 20 == 0) 32 printf(" "); 33 } 34 35 return 0; 36 } 37 //求n!的第一个非0的数 38 int f(int n) 39 { 40 int i; 41 for(i = 0; i <= 40000; ++i) 42 if(a[i] != 0) 43 break; 44 return a[i]; 45 }
AC代码:
1 //#define LOCAL 2 #include <iostream> 3 #include <cstdio> 4 #include <cstring> 5 using namespace std; 6 7 const int maxn = 40000 + 10; 8 int a[maxn]; //存放阶乘的结果 9 //存放b[i]阶乘的最后一位非0的数 10 char b[10000 + 10] = {1, 11 1,2,6,4,2,2,4,2,8,8,8,6,8,2,8,8,6,8,2,4, 12 4,8,4,6,4,4,8,4,6,8,8,6,8,2,2,2,4,2,8,2, 13 2,4,2,8,6,6,2,6,4,2,2,4,2,8,4,4,8,4,6,6, 14 6,2,6,4,6,6,2,6,4,8,8,6,8,2,4,4,8,4,6,8, 15 8,6,8,2,2,2,4,2,8,2,2,4,2,8,6,6,2,6,4,4, 16 4,8,4,6,8,8,6,8,2,2,2,4,2,8,2,2,4,2,8,6, 17 6,2,6,4,8,8,6,8,2,6,6,2,6,4,4,4,8,4,6,4, 18 4,8,4,6,2,2,4,2,8,2,2,4,2,8,4,4,8,4,6,6, 19 6,2,6,4,6,6,2,6,4,8,8,6,8,2,6,6,2,6,4,2, 20 2,4,2,8,8,8,6,8,2,8,8,6,8,2,4,4,8,4,6,2, 21 2,4,2,8,4,4,8,4,6,6,6,2,6,4,6,6,2,6,4,8, 22 8,6,8,2,2,2,4,2,8,4,4,8,4,6,6,6,2,6,4,6, 23 6,2,6,4,8,8,6,8,2,8,8,6,8,2,6,6,2,6,4,4, 24 4,8,4,6,4,4,8,4,6,2,2,4,2,8,2,2,4,2,8,4, 25 4,8,4,6,6,6,2,6,4,6,6,2,6,4,8,8,6,8,2,6, 26 6,2,6,4,2,2,4,2,8,8,8,6,8,2,8,8,6,8,2,4, 27 4,8,4,6,2,2,4,2,8,4,4,8,4,6,6,6,2,6,4,6, 28 6,2,6,4,8,8,6,8,2,2,2,4,2,8,4,4,8,4,6,6, 29 6,2,6,4,6,6,2,6,4,8,8,6,8,2,2,2,4,2,8,4, 30 4,8,4,6,6,6,2,6,4,6,6,2,6,4,8,8,6,8,2,8, 31 8,6,8,2,6,6,2,6,4,4,4,8,4,6,4,4,8,4,6,2, 32 2,4,2,8,4,4,8,4,6,8,8,6,8,2,2,2,4,2,8,2, 33 2,4,2,8,6,6,2,6,4,8,8,6,8,2,6,6,2,6,4,4, 34 4,8,4,6,4,4,8,4,6,2,2,4,2,8,8,8,6,8,2,6, 35 6,2,6,4,4,4,8,4,6,4,4,8,4,6,2,2,4,2,8,4, 36 4,8,4,6,8,8,6,8,2,2,2,4,2,8,2,2,4,2,8,6, 37 6,2,6,4,6,6,2,6,4,2,2,4,2,8,8,8,6,8,2,8, 38 8,6,8,2,4,4,8,4,6,8,8,6,8,2,6,6,2,6,4,4, 39 4,8,4,6,4,4,8,4,6,2,2,4,2,8,6,6,2,6,4,2, 40 2,4,2,8,8,8,6,8,2,8,8,6,8,2,4,4,8,4,6,6, 41 6,2,6,4,2,2,4,2,8,8,8,6,8,2,8,8,6,8,2,4, 42 4,8,4,6,6,6,2,6,4,2,2,4,2,8,8,8,6,8,2,8, 43 8,6,8,2,4,4,8,4,6,4,4,8,4,6,8,8,6,8,2,2, 44 2,4,2,8,2,2,4,2,8,6,6,2,6,4,2,2,4,2,8,4, 45 4,8,4,6,6,6,2,6,4,6,6,2,6,4,8,8,6,8,2,4, 46 4,8,4,6,8,8,6,8,2,2,2,4,2,8,2,2,4,2,8,6, 47 6,2,6,4,4,4,8,4,6,8,8,6,8,2,2,2,4,2,8,2, 48 2,4,2,8,6,6,2,6,4,8,8,6,8,2,6,6,2,6,4,4, 49 4,8,4,6,4,4,8,4,6,2,2,4,2,8,2,2,4,2,8,4, 50 4,8,4,6,6,6,2,6,4,6,6,2,6,4,8,8,6,8,2,6, 51 6,2,6,4,2,2,4,2,8,8,8,6,8,2,8,8,6,8,2,4, 52 4,8,4,6,2,2,4,2,8,4,4,8,4,6,6,6,2,6,4,6, 53 6,2,6,4,8,8,6,8,2,2,2,4,2,8,4,4,8,4,6,6, 54 6,2,6,4,6,6,2,6,4,8,8,6,8,2,8,8,6,8,2,6, 55 6,2,6,4,4,4,8,4,6,4,4,8,4,6,2,2,4,2,8,2, 56 2,4,2,8,4,4,8,4,6,6,6,2,6,4,6,6,2,6,4,8, 57 8,6,8,2,6,6,2,6,4,2,2,4,2,8,8,8,6,8,2,8, 58 8,6,8,2,4,4,8,4,6,2,2,4,2,8,4,4,8,4,6,6, 59 6,2,6,4,6,6,2,6,4,8,8,6,8,2,2,2,4,2,8,4, 60 4,8,4,6,6,6,2,6,4,6,6,2,6,4,8,8,6,8,2,2, 61 2,4,2,8,4,4,8,4,6,6,6,2,6,4,6,6,2,6,4,8, 62 8,6,8,2,8,8,6,8,2,6,6,2,6,4,4,4,8,4,6,4, 63 4,8,4,6,2,2,4,2,8,4,4,8,4,6,8,8,6,8,2,2, 64 2,4,2,8,2,2,4,2,8,6,6,2,6,4,8,8,6,8,2,6, 65 6,2,6,4,4,4,8,4,6,4,4,8,4,6,2,2,4,2,8,8, 66 8,6,8,2,6,6,2,6,4,4,4,8,4,6,4,4,8,4,6,2, 67 2,4,2,8,4,4,8,4,6,8,8,6,8,2,2,2,4,2,8,2, 68 2,4,2,8,6,6,2,6,4,6,6,2,6,4,2,2,4,2,8,8, 69 8,6,8,2,8,8,6,8,2,4,4,8,4,6,8,8,6,8,2,6, 70 6,2,6,4,4,4,8,4,6,4,4,8,4,6,2,2,4,2,8,6, 71 6,2,6,4,2,2,4,2,8,8,8,6,8,2,8,8,6,8,2,4, 72 4,8,4,6,6,6,2,6,4,2,2,4,2,8,8,8,6,8,2,8, 73 8,6,8,2,4,4,8,4,6,2,2,4,2,8,4,4,8,4,6,6, 74 6,2,6,4,6,6,2,6,4,8,8,6,8,2,8,8,6,8,2,6, 75 6,2,6,4,4,4,8,4,6,4,4,8,4,6,2,2,4,2,8,4, 76 4,8,4,6,8,8,6,8,2,2,2,4,2,8,2,2,4,2,8,6, 77 6,2,6,4,8,8,6,8,2,6,6,2,6,4,4,4,8,4,6,4, 78 4,8,4,6,2,2,4,2,8,8,8,6,8,2,6,6,2,6,4,4, 79 4,8,4,6,4,4,8,4,6,2,2,4,2,8,6,6,2,6,4,2, 80 2,4,2,8,8,8,6,8,2,8,8,6,8,2,4,4,8,4,6,4, 81 4,8,4,6,8,8,6,8,2,2,2,4,2,8,2,2,4,2,8,6, 82 6,2,6,4,2,2,4,2,8,4,4,8,4,6,6,6,2,6,4,6, 83 6,2,6,4,8,8,6,8,2,4,4,8,4,6,8,8,6,8,2,2, 84 2,4,2,8,2,2,4,2,8,6,6,2,6,4,4,4,8,4,6,8, 85 8,6,8,2,2,2,4,2,8,2,2,4,2,8,6,6,2,6,4,6, 86 6,2,6,4,2,2,4,2,8,8,8,6,8,2,8,8,6,8,2,4, 87 4,8,4,6,4,4,8,4,6,8,8,6,8,2,2,2,4,2,8,2, 88 2,4,2,8,6,6,2,6,4,2,2,4,2,8,4,4,8,4,6,6, 89 6,2,6,4,6,6,2,6,4,8,8,6,8,2,4,4,8,4,6,8, 90 8,6,8,2,2,2,4,2,8,2,2,4,2,8,6,6,2,6,4,4, 91 4,8,4,6,8,8,6,8,2,2,2,4,2,8,2,2,4,2,8,6, 92 6,2,6,4,4,4,8,4,6,8,8,6,8,2,2,2,4,2,8,2, 93 2,4,2,8,6,6,2,6,4,6,6,2,6,4,2,2,4,2,8,8, 94 8,6,8,2,8,8,6,8,2,4,4,8,4,6,8,8,6,8,2,6, 95 6,2,6,4,4,4,8,4,6,4,4,8,4,6,2,2,4,2,8,6, 96 6,2,6,4,2,2,4,2,8,8,8,6,8,2,8,8,6,8,2,4, 97 4,8,4,6,6,6,2,6,4,2,2,4,2,8,8,8,6,8,2,8, 98 8,6,8,2,4,4,8,4,6,8,8,6,8,2,6,6,2,6,4,4, 99 4,8,4,6,4,4,8,4,6,2,2,4,2,8,2,2,4,2,8,4, 100 4,8,4,6,6,6,2,6,4,6,6,2,6,4,8,8,6,8,2,6, 101 6,2,6,4,2,2,4,2,8,8,8,6,8,2,8,8,6,8,2,4, 102 4,8,4,6,2,2,4,2,8,4,4,8,4,6,6,6,2,6,4,6, 103 6,2,6,4,8,8,6,8,2,2,2,4,2,8,4,4,8,4,6,6, 104 6,2,6,4,6,6,2,6,4,8,8,6,8,2,6,6,2,6,4,2, 105 2,4,2,8,8,8,6,8,2,8,8,6,8,2,4,4,8,4,6,4, 106 4,8,4,6,8,8,6,8,2,2,2,4,2,8,2,2,4,2,8,6, 107 6,2,6,4,2,2,4,2,8,4,4,8,4,6,6,6,2,6,4,6, 108 6,2,6,4,8,8,6,8,2,4,4,8,4,6,8,8,6,8,2,2, 109 2,4,2,8,2,2,4,2,8,6,6,2,6,4,4,4,8,4,6,8, 110 8,6,8,2,2,2,4,2,8,2,2,4,2,8,6,6,2,6,4,8, 111 8,6,8,2,6,6,2,6,4,4,4,8,4,6,4,4,8,4,6,2, 112 2,4,2,8,2,2,4,2,8,4,4,8,4,6,6,6,2,6,4,6, 113 6,2,6,4,8,8,6,8,2,6,6,2,6,4,2,2,4,2,8,8, 114 8,6,8,2,8,8,6,8,2,4,4,8,4,6,2,2,4,2,8,4, 115 4,8,4,6,6,6,2,6,4,6,6,2,6,4,8,8,6,8,2,2, 116 2,4,2,8,4,4,8,4,6,6,6,2,6,4,6,6,2,6,4,8, 117 8,6,8,2,8,8,6,8,2,6,6,2,6,4,4,4,8,4,6,4, 118 4,8,4,6,2,2,4,2,8,2,2,4,2,8,4,4,8,4,6,6, 119 6,2,6,4,6,6,2,6,4,8,8,6,8,2,6,6,2,6,4,2, 120 2,4,2,8,8,8,6,8,2,8,8,6,8,2,4,4,8,4,6,2, 121 2,4,2,8,4,4,8,4,6,6,6,2,6,4,6,6,2,6,4,8, 122 8,6,8,2,2,2,4,2,8,4,4,8,4,6,6,6,2,6,4,6, 123 6,2,6,4,8,8,6,8,2,2,2,4,2,8,4,4,8,4,6,6, 124 6,2,6,4,6,6,2,6,4,8,8,6,8,2,8,8,6,8,2,6, 125 6,2,6,4,4,4,8,4,6,4,4,8,4,6,2,2,4,2,8,4, 126 4,8,4,6,8,8,6,8,2,2,2,4,2,8,2,2,4,2,8,6, 127 6,2,6,4,8,8,6,8,2,6,6,2,6,4,4,4,8,4,6,4, 128 4,8,4,6,2,2,4,2,8,8,8,6,8,2,6,6,2,6,4,4, 129 4,8,4,6,4,4,8,4,6,2,2,4,2,8,4,4,8,4,6,8, 130 8,6,8,2,2,2,4,2,8,2,2,4,2,8,6,6,2,6,4,6, 131 6,2,6,4,2,2,4,2,8,8,8,6,8,2,8,8,6,8,2,4, 132 4,8,4,6,8,8,6,8,2,6,6,2,6,4,4,4,8,4,6,4, 133 4,8,4,6,2,2,4,2,8,6,6,2,6,4,2,2,4,2,8,8, 134 8,6,8,2,8,8,6,8,2,4,4,8,4,6,6,6,2,6,4,2, 135 2,4,2,8,8,8,6,8,2,8,8,6,8,2,4,4,8,4,6,4, 136 4,8,4,6,8,8,6,8,2,2,2,4,2,8,2,2,4,2,8,6, 137 6,2,6,4,6,6,2,6,4,2,2,4,2,8,8,8,6,8,2,8, 138 8,6,8,2,4,4,8,4,6,8,8,6,8,2,6,6,2,6,4,4, 139 4,8,4,6,4,4,8,4,6,2,2,4,2,8,6,6,2,6,4,2, 140 2,4,2,8,8,8,6,8,2,8,8,6,8,2,4,4,8,4,6,6, 141 6,2,6,4,2,2,4,2,8,8,8,6,8,2,8,8,6,8,2,4, 142 4,8,4,6,2,2,4,2,8,4,4,8,4,6,6,6,2,6,4,6, 143 6,2,6,4,8,8,6,8,2,8,8,6,8,2,6,6,2,6,4,4, 144 4,8,4,6,4,4,8,4,6,2,2,4,2,8,4,4,8,4,6,8, 145 8,6,8,2,2,2,4,2,8,2,2,4,2,8,6,6,2,6,4,8, 146 8,6,8,2,6,6,2,6,4,4,4,8,4,6,4,4,8,4,6,2, 147 2,4,2,8,8,8,6,8,2,6,6,2,6,4,4,4,8,4,6,4, 148 4,8,4,6,2,2,4,2,8,2,2,4,2,8,4,4,8,4,6,6, 149 6,2,6,4,6,6,2,6,4,8,8,6,8,2,8,8,6,8,2,6, 150 6,2,6,4,4,4,8,4,6,4,4,8,4,6,2,2,4,2,8,4, 151 4,8,4,6,8,8,6,8,2,2,2,4,2,8,2,2,4,2,8,6, 152 6,2,6,4,8,8,6,8,2,6,6,2,6,4,4,4,8,4,6,4, 153 4,8,4,6,2,2,4,2,8,8,8,6,8,2,6,6,2,6,4,4, 154 4,8,4,6,4,4,8,4,6,2,2,4,2,8,8,8,6,8,2,6, 155 6,2,6,4,4,4,8,4,6,4,4,8,4,6,2,2,4,2,8,2, 156 2,4,2,8,4,4,8,4,6,6,6,2,6,4,6,6,2,6,4,8, 157 8,6,8,2,6,6,2,6,4,2,2,4,2,8,8,8,6,8,2,8, 158 8,6,8,2,4,4,8,4,6,2,2,4,2,8,4,4,8,4,6,6, 159 6,2,6,4,6,6,2,6,4,8,8,6,8,2,2,2,4,2,8,4, 160 4,8,4,6,6,6,2,6,4,6,6,2,6,4,8,8,6,8,2,6, 161 6,2,6,4,2,2,4,2,8,8,8,6,8,2,8,8,6,8,2,4, 162 4,8,4,6,4,4,8,4,6,8,8,6,8,2,2,2,4,2,8,2, 163 2,4,2,8,6,6,2,6,4,2,2,4,2,8,4,4,8,4,6,6, 164 6,2,6,4,6,6,2,6,4,8,8,6,8,2,4,4,8,4,6,8, 165 8,6,8,2,2,2,4,2,8,2,2,4,2,8,6,6,2,6,4,4, 166 4,8,4,6,8,8,6,8,2,2,2,4,2,8,2,2,4,2,8,6, 167 6,2,6,4,2,2,4,2,8,4,4,8,4,6,6,6,2,6,4,6, 168 6,2,6,4,8,8,6,8,2,8,8,6,8,2,6,6,2,6,4,4, 169 4,8,4,6,4,4,8,4,6,2,2,4,2,8,4,4,8,4,6,8, 170 8,6,8,2,2,2,4,2,8,2,2,4,2,8,6,6,2,6,4,8, 171 8,6,8,2,6,6,2,6,4,4,4,8,4,6,4,4,8,4,6,2, 172 2,4,2,8,8,8,6,8,2,6,6,2,6,4,4,4,8,4,6,4, 173 4,8,4,6,2,2,4,2,8,6,6,2,6,4,2,2,4,2,8,8, 174 8,6,8,2,8,8,6,8,2,4,4,8,4,6,4,4,8,4,6,8, 175 8,6,8,2,2,2,4,2,8,2,2,4,2,8,6,6,2,6,4,2, 176 2,4,2,8,4,4,8,4,6,6,6,2,6,4,6,6,2,6,4,8, 177 8,6,8,2,4,4,8,4,6,8,8,6,8,2,2,2,4,2,8,2, 178 2,4,2,8,6,6,2,6,4,4,4,8,4,6,8,8,6,8,2,2, 179 2,4,2,8,2,2,4,2,8,6,6,2,6,4,6,6,2,6,4,2, 180 2,4,2,8,8,8,6,8,2,8,8,6,8,2,4,4,8,4,6,4, 181 4,8,4,6,8,8,6,8,2,2,2,4,2,8,2,2,4,2,8,6, 182 6,2,6,4,2,2,4,2,8,4,4,8,4,6,6,6,2,6,4,6, 183 6,2,6,4,8,8,6,8,2,4,4,8,4,6,8,8,6,8,2,2, 184 2,4,2,8,2,2,4,2,8,6,6,2,6,4,4,4,8,4,6,8, 185 8,6,8,2,2,2,4,2,8,2,2,4,2,8,6,6,2,6,4,4, 186 4,8,4,6,8,8,6,8,2,2,2,4,2,8,2,2,4,2,8,6, 187 6,2,6,4,6,6,2,6,4,2,2,4,2,8,8,8,6,8,2,8, 188 8,6,8,2,4,4,8,4,6,8,8,6,8,2,6,6,2,6,4,4, 189 4,8,4,6,4,4,8,4,6,2,2,4,2,8,6,6,2,6,4,2, 190 2,4,2,8,8,8,6,8,2,8,8,6,8,2,4,4,8,4,6,6, 191 6,2,6,4,2,2,4,2,8,8,8,6,8,2,8,8,6,8,2,4, 192 4,8,4,6,8,8,6,8,2,6,6,2,6,4,4,4,8,4,6,4, 193 4,8,4,6,2,2,4,2,8,2,2,4,2,8,4,4,8,4,6,6, 194 6,2,6,4,6,6,2,6,4,8,8,6,8,2,6,6,2,6,4,2, 195 2,4,2,8,8,8,6,8,2,8,8,6,8,2,4,4,8,4,6,2, 196 2,4,2,8,4,4,8,4,6,6,6,2,6,4,6,6,2,6,4,8, 197 8,6,8,2,2,2,4,2,8,4,4,8,4,6,6,6,2,6,4,6, 198 6,2,6,4,8,8,6,8,2,2,2,4,2,8,4,4,8,4,6,6, 199 6,2,6,4,6,6,2,6,4,8,8,6,8,2,8,8,6,8,2,6, 200 6,2,6,4,4,4,8,4,6,4,4,8,4,6,2,2,4,2,8,4, 201 4,8,4,6,8,8,6,8,2,2,2,4,2,8,2,2,4,2,8,6, 202 6,2,6,4,8,8,6,8,2,6,6,2,6,4,4,4,8,4,6,4, 203 4,8,4,6,2,2,4,2,8,8,8,6,8,2,6,6,2,6,4,4, 204 4,8,4,6,4,4,8,4,6,2,2,4,2,8,6,6,2,6,4,2, 205 2,4,2,8,8,8,6,8,2,8,8,6,8,2,4,4,8,4,6,4, 206 4,8,4,6,8,8,6,8,2,2,2,4,2,8,2,2,4,2,8,6, 207 6,2,6,4,2,2,4,2,8,4,4,8,4,6,6,6,2,6,4,6, 208 6,2,6,4,8,8,6,8,2,4,4,8,4,6,8,8,6,8,2,2, 209 2,4,2,8,2,2,4,2,8,6,6,2,6,4,4,4,8,4,6,8, 210 8,6,8,2,2,2,4,2,8,2,2,4,2,8,6,6,2,6,4,6, 211 6,2,6,4,2,2,4,2,8,8,8,6,8,2,8,8,6,8,2,4, 212 4,8,4,6,4,4,8,4,6,8,8,6,8,2,2,2,4,2,8,2, 213 2,4,2,8,6,6,2,6,4,2,2,4,2,8,4,4,8,4,6,6, 214 6,2,6,4,6,6,2,6,4,8,8,6,8,2,4,4,8,4,6,8, 215 8,6,8,2,2,2,4,2,8,2,2,4,2,8,6,6,2,6,4,4, 216 4,8,4,6,8,8,6,8,2,2,2,4,2,8,2,2,4,2,8,6, 217 6,2,6,4,4,4,8,4,6,8,8,6,8,2,2,2,4,2,8,2, 218 2,4,2,8,6,6,2,6,4,6,6,2,6,4,2,2,4,2,8,8, 219 8,6,8,2,8,8,6,8,2,4,4,8,4,6,8,8,6,8,2,6, 220 6,2,6,4,4,4,8,4,6,4,4,8,4,6,2,2,4,2,8,6, 221 6,2,6,4,2,2,4,2,8,8,8,6,8,2,8,8,6,8,2,4, 222 4,8,4,6,6,6,2,6,4,2,2,4,2,8,8,8,6,8,2,8, 223 8,6,8,2,4,4,8,4,6,8,8,6,8,2,6,6,2,6,4,4, 224 4,8,4,6,4,4,8,4,6,2,2,4,2,8,2,2,4,2,8,4, 225 4,8,4,6,6,6,2,6,4,6,6,2,6,4,8,8,6,8,2,6, 226 6,2,6,4,2,2,4,2,8,8,8,6,8,2,8,8,6,8,2,4, 227 4,8,4,6,2,2,4,2,8,4,4,8,4,6,6,6,2,6,4,6, 228 6,2,6,4,8,8,6,8,2,2,2,4,2,8,4,4,8,4,6,6, 229 6,2,6,4,6,6,2,6,4,8,8,6,8,2,4,4,8,4,6,8, 230 8,6,8,2,2,2,4,2,8,2,2,4,2,8,6,6,2,6,4,6, 231 6,2,6,4,2,2,4,2,8,8,8,6,8,2,8,8,6,8,2,4, 232 4,8,4,6,8,8,6,8,2,6,6,2,6,4,4,4,8,4,6,4, 233 4,8,4,6,2,2,4,2,8,6,6,2,6,4,2,2,4,2,8,8, 234 8,6,8,2,8,8,6,8,2,4,4,8,4,6,6,6,2,6,4,2, 235 2,4,2,8,8,8,6,8,2,8,8,6,8,2,4,4,8,4,6,2, 236 2,4,2,8,4,4,8,4,6,6,6,2,6,4,6,6,2,6,4,8, 237 8,6,8,2,8,8,6,8,2,6,6,2,6,4,4,4,8,4,6,4, 238 4,8,4,6,2,2,4,2,8,4,4,8,4,6,8,8,6,8,2,2, 239 2,4,2,8,2,2,4,2,8,6,6,2,6,4,8,8,6,8,2,6, 240 6,2,6,4,4,4,8,4,6,4,4,8,4,6,2,2,4,2,8,8, 241 8,6,8,2,6,6,2,6,4,4,4,8,4,6,4,4,8,4,6,2, 242 2,4,2,8,2,2,4,2,8,4,4,8,4,6,6,6,2,6,4,6, 243 6,2,6,4,8,8,6,8,2,8,8,6,8,2,6,6,2,6,4,4, 244 4,8,4,6,4,4,8,4,6,2,2,4,2,8,4,4,8,4,6,8, 245 8,6,8,2,2,2,4,2,8,2,2,4,2,8,6,6,2,6,4,8, 246 8,6,8,2,6,6,2,6,4,4,4,8,4,6,4,4,8,4,6,2, 247 2,4,2,8,8,8,6,8,2,6,6,2,6,4,4,4,8,4,6,4, 248 4,8,4,6,2,2,4,2,8,8,8,6,8,2,6,6,2,6,4,4, 249 4,8,4,6,4,4,8,4,6,2,2,4,2,8,2,2,4,2,8,4, 250 4,8,4,6,6,6,2,6,4,6,6,2,6,4,8,8,6,8,2,6, 251 6,2,6,4,2,2,4,2,8,8,8,6,8,2,8,8,6,8,2,4, 252 4,8,4,6,2,2,4,2,8,4,4,8,4,6,6,6,2,6,4,6, 253 6,2,6,4,8,8,6,8,2,2,2,4,2,8,4,4,8,4,6,6, 254 6,2,6,4,6,6,2,6,4,8,8,6,8,2,6,6,2,6,4,2, 255 2,4,2,8,8,8,6,8,2,8,8,6,8,2,4,4,8,4,6,4, 256 4,8,4,6,8,8,6,8,2,2,2,4,2,8,2,2,4,2,8,6, 257 6,2,6,4,2,2,4,2,8,4,4,8,4,6,6,6,2,6,4,6, 258 6,2,6,4,8,8,6,8,2,4,4,8,4,6,8,8,6,8,2,2, 259 2,4,2,8,2,2,4,2,8,6,6,2,6,4,4,4,8,4,6,8, 260 8,6,8,2,2,2,4,2,8,2,2,4,2,8,6,6,2,6,4,2, 261 2,4,2,8,4,4,8,4,6,6,6,2,6,4,6,6,2,6,4,8, 262 8,6,8,2,8,8,6,8,2,6,6,2,6,4,4,4,8,4,6,4, 263 4,8,4,6,2,2,4,2,8,4,4,8,4,6,8,8,6,8,2,2, 264 2,4,2,8,2,2,4,2,8,6,6,2,6,4,8,8,6,8,2,6, 265 6,2,6,4,4,4,8,4,6,4,4,8,4,6,2,2,4,2,8,8, 266 8,6,8,2,6,6,2,6,4,4,4,8,4,6,4,4,8,4,6,2, 267 2,4,2,8,6,6,2,6,4,2,2,4,2,8,8,8,6,8,2,8, 268 8,6,8,2,4,4,8,4,6,4,4,8,4,6,8,8,6,8,2,2, 269 2,4,2,8,2,2,4,2,8,6,6,2,6,4,2,2,4,2,8,4, 270 4,8,4,6,6,6,2,6,4,6,6,2,6,4,8,8,6,8,2,4, 271 4,8,4,6,8,8,6,8,2,2,2,4,2,8,2,2,4,2,8,6, 272 6,2,6,4,4,4,8,4,6,8,8,6,8,2,2,2,4,2,8,2, 273 2,4,2,8,6,6,2,6,4,6,6,2,6,4,2,2,4,2,8,8, 274 8,6,8,2,8,8,6,8,2,4,4,8,4,6,4,4,8,4,6,8, 275 8,6,8,2,2,2,4,2,8,2,2,4,2,8,6,6,2,6,4,2, 276 2,4,2,8,4,4,8,4,6,6,6,2,6,4,6,6,2,6,4,8, 277 8,6,8,2,4,4,8,4,6,8,8,6,8,2,2,2,4,2,8,2, 278 2,4,2,8,6,6,2,6,4,4,4,8,4,6,8,8,6,8,2,2, 279 2,4,2,8,2,2,4,2,8,6,6,2,6,4,4,4,8,4,6,8, 280 8,6,8,2,2,2,4,2,8,2,2,4,2,8,6,6,2,6,4,6, 281 6,2,6,4,2,2,4,2,8,8,8,6,8,2,8,8,6,8,2,4, 282 4,8,4,6,8,8,6,8,2,6,6,2,6,4,4,4,8,4,6,4, 283 4,8,4,6,2,2,4,2,8,6,6,2,6,4,2,2,4,2,8,8, 284 8,6,8,2,8,8,6,8,2,4,4,8,4,6,6,6,2,6,4,2, 285 2,4,2,8,8,8,6,8,2,8,8,6,8,2,4,4,8,4,6,8, 286 8,6,8,2,6,6,2,6,4,4,4,8,4,6,4,4,8,4,6,2, 287 2,4,2,8,2,2,4,2,8,4,4,8,4,6,6,6,2,6,4,6, 288 6,2,6,4,8,8,6,8,2,6,6,2,6,4,2,2,4,2,8,8, 289 8,6,8,2,8,8,6,8,2,4,4,8,4,6,2,2,4,2,8,4, 290 4,8,4,6,6,6,2,6,4,6,6,2,6,4,8,8,6,8,2,2, 291 2,4,2,8,4,4,8,4,6,6,6,2,6,4,6,6,2,6,4,8, 292 8,6,8,2,8,8,6,8,2,6,6,2,6,4,4,4,8,4,6,4, 293 4,8,4,6,2,2,4,2,8,2,2,4,2,8,4,4,8,4,6,6, 294 6,2,6,4,6,6,2,6,4,8,8,6,8,2,6,6,2,6,4,2, 295 2,4,2,8,8,8,6,8,2,8,8,6,8,2,4,4,8,4,6,2, 296 2,4,2,8,4,4,8,4,6,6,6,2,6,4,6,6,2,6,4,8, 297 8,6,8,2,2,2,4,2,8,4,4,8,4,6,6,6,2,6,4,6, 298 6,2,6,4,8,8,6,8,2,4,4,8,4,6,8,8,6,8,2,2, 299 2,4,2,8,2,2,4,2,8,6,6,2,6,4,6,6,2,6,4,2, 300 2,4,2,8,8,8,6,8,2,8,8,6,8,2,4,4,8,4,6,8, 301 8,6,8,2,6,6,2,6,4,4,4,8,4,6,4,4,8,4,6,2, 302 2,4,2,8,6,6,2,6,4,2,2,4,2,8,8,8,6,8,2,8, 303 8,6,8,2,4,4,8,4,6,6,6,2,6,4,2,2,4,2,8,8, 304 8,6,8,2,8,8,6,8,2,4,4,8,4,6,4,4,8,4,6,8, 305 8,6,8,2,2,2,4,2,8,2,2,4,2,8,6,6,2,6,4,6, 306 6,2,6,4,2,2,4,2,8,8,8,6,8,2,8,8,6,8,2,4, 307 4,8,4,6,8,8,6,8,2,6,6,2,6,4,4,4,8,4,6,4, 308 4,8,4,6,2,2,4,2,8,6,6,2,6,4,2,2,4,2,8,8, 309 8,6,8,2,8,8,6,8,2,4,4,8,4,6,6,6,2,6,4,2, 310 2,4,2,8,8,8,6,8,2,8,8,6,8,2,4,4,8,4,6,6, 311 6,2,6,4,2,2,4,2,8,8,8,6,8,2,8,8,6,8,2,4, 312 4,8,4,6,4,4,8,4,6,8,8,6,8,2,2,2,4,2,8,2, 313 2,4,2,8,6,6,2,6,4,2,2,4,2,8,4,4,8,4,6,6, 314 6,2,6,4,6,6,2,6,4,8,8,6,8,2,4,4,8,4,6,8, 315 8,6,8,2,2,2,4,2,8,2,2,4,2,8,6,6,2,6,4,4, 316 4,8,4,6,8,8,6,8,2,2,2,4,2,8,2,2,4,2,8,6, 317 6,2,6,4,2,2,4,2,8,4,4,8,4,6,6,6,2,6,4,6, 318 6,2,6,4,8,8,6,8,2,8,8,6,8,2,6,6,2,6,4,4, 319 4,8,4,6,4,4,8,4,6,2,2,4,2,8,4,4,8,4,6,8, 320 8,6,8,2,2,2,4,2,8,2,2,4,2,8,6,6,2,6,4,8, 321 8,6,8,2,6,6,2,6,4,4,4,8,4,6,4,4,8,4,6,2, 322 2,4,2,8,8,8,6,8,2,6,6,2,6,4,4,4,8,4,6,4, 323 4,8,4,6,2,2,4,2,8,8,8,6,8,2,6,6,2,6,4,4, 324 4,8,4,6,4,4,8,4,6,2,2,4,2,8,2,2,4,2,8,4, 325 4,8,4,6,6,6,2,6,4,6,6,2,6,4,8,8,6,8,2,6, 326 6,2,6,4,2,2,4,2,8,8,8,6,8,2,8,8,6,8,2,4, 327 4,8,4,6,2,2,4,2,8,4,4,8,4,6,6,6,2,6,4,6, 328 6,2,6,4,8,8,6,8,2,2,2,4,2,8,4,4,8,4,6,6, 329 6,2,6,4,6,6,2,6,4,8,8,6,8,2,4,4,8,4,6,8, 330 8,6,8,2,2,2,4,2,8,2,2,4,2,8,6,6,2,6,4,6, 331 6,2,6,4,2,2,4,2,8,8,8,6,8,2,8,8,6,8,2,4, 332 4,8,4,6,8,8,6,8,2,6,6,2,6,4,4,4,8,4,6,4, 333 4,8,4,6,2,2,4,2,8,6,6,2,6,4,2,2,4,2,8,8, 334 8,6,8,2,8,8,6,8,2,4,4,8,4,6,6,6,2,6,4,2, 335 2,4,2,8,8,8,6,8,2,8,8,6,8,2,4,4,8,4,6,4, 336 4,8,4,6,8,8,6,8,2,2,2,4,2,8,2,2,4,2,8,6, 337 6,2,6,4,6,6,2,6,4,2,2,4,2,8,8,8,6,8,2,8, 338 8,6,8,2,4,4,8,4,6,8,8,6,8,2,6,6,2,6,4,4, 339 4,8,4,6,4,4,8,4,6,2,2,4,2,8,6,6,2,6,4,2, 340 2,4,2,8,8,8,6,8,2,8,8,6,8,2,4,4,8,4,6,6, 341 6,2,6,4,2,2,4,2,8,8,8,6,8,2,8,8,6,8,2,4, 342 4,8,4,6,6,6,2,6,4,2,2,4,2,8,8,8,6,8,2,8, 343 8,6,8,2,4,4,8,4,6,4,4,8,4,6,8,8,6,8,2,2, 344 2,4,2,8,2,2,4,2,8,6,6,2,6,4,2,2,4,2,8,4, 345 4,8,4,6,6,6,2,6,4,6,6,2,6,4,8,8,6,8,2,4, 346 4,8,4,6,8,8,6,8,2,2,2,4,2,8,2,2,4,2,8,6, 347 6,2,6,4,4,4,8,4,6,8,8,6,8,2,2,2,4,2,8,2, 348 2,4,2,8,6,6,2,6,4,2,2,4,2,8,4,4,8,4,6,6, 349 6,2,6,4,6,6,2,6,4,8,8,6,8,2,8,8,6,8,2,6, 350 6,2,6,4,4,4,8,4,6,4,4,8,4,6,2,2,4,2,8,4, 351 4,8,4,6,8,8,6,8,2,2,2,4,2,8,2,2,4,2,8,6, 352 6,2,6,4,8,8,6,8,2,6,6,2,6,4,4,4,8,4,6,4, 353 4,8,4,6,2,2,4,2,8,8,8,6,8,2,6,6,2,6,4,4, 354 4,8,4,6,4,4,8,4,6,2,2,4,2,8,8,8,6,8,2,6, 355 6,2,6,4,4,4,8,4,6,4,4,8,4,6,2,2,4,2,8,2, 356 2,4,2,8,4,4,8,4,6,6,6,2,6,4,6,6,2,6,4,8, 357 8,6,8,2,6,6,2,6,4,2,2,4,2,8,8,8,6,8,2,8, 358 8,6,8,2,4,4,8,4,6,2,2,4,2,8,4,4,8,4,6,6, 359 6,2,6,4,6,6,2,6,4,8,8,6,8,2,2,2,4,2,8,4, 360 4,8,4,6,6,6,2,6,4,6,6,2,6,4,8,8,6,8,2,4, 361 4,8,4,6,8,8,6,8,2,2,2,4,2,8,2,2,4,2,8,6, 362 6,2,6,4,6,6,2,6,4,2,2,4,2,8,8,8,6,8,2,8, 363 8,6,8,2,4,4,8,4,6,8,8,6,8,2,6,6,2,6,4,4, 364 4,8,4,6,4,4,8,4,6,2,2,4,2,8,6,6,2,6,4,2, 365 2,4,2,8,8,8,6,8,2,8,8,6,8,2,4,4,8,4,6,6, 366 6,2,6,4,2,2,4,2,8,8,8,6,8,2,8,8,6,8,2,4, 367 4,8,4,6,4,4,8,4,6,8,8,6,8,2,2,2,4,2,8,2, 368 2,4,2,8,6,6,2,6,4,6,6,2,6,4,2,2,4,2,8,8, 369 8,6,8,2,8,8,6,8,2,4,4,8,4,6,8,8,6,8,2,6, 370 6,2,6,4,4,4,8,4,6,4,4,8,4,6,2,2,4,2,8,6, 371 6,2,6,4,2,2,4,2,8,8,8,6,8,2,8,8,6,8,2,4, 372 4,8,4,6,6,6,2,6,4,2,2,4,2,8,8,8,6,8,2,8, 373 8,6,8,2,4,4,8,4,6,6,6,2,6,4,2,2,4,2,8,8, 374 8,6,8,2,8,8,6,8,2,4,4,8,4,6,4,4,8,4,6,8, 375 8,6,8,2,2,2,4,2,8,2,2,4,2,8,6,6,2,6,4,2, 376 2,4,2,8,4,4,8,4,6,6,6,2,6,4,6,6,2,6,4,8, 377 8,6,8,2,4,4,8,4,6,8,8,6,8,2,2,2,4,2,8,2, 378 2,4,2,8,6,6,2,6,4,4,4,8,4,6,8,8,6,8,2,2, 379 2,4,2,8,2,2,4,2,8,6,6,2,6,4,2,2,4,2,8,4, 380 4,8,4,6,6,6,2,6,4,6,6,2,6,4,8,8,6,8,2,8, 381 8,6,8,2,6,6,2,6,4,4,4,8,4,6,4,4,8,4,6,2, 382 2,4,2,8,4,4,8,4,6,8,8,6,8,2,2,2,4,2,8,2, 383 2,4,2,8,6,6,2,6,4,8,8,6,8,2,6,6,2,6,4,4, 384 4,8,4,6,4,4,8,4,6,2,2,4,2,8,8,8,6,8,2,6, 385 6,2,6,4,4,4,8,4,6,4,4,8,4,6,2,2,4,2,8,6, 386 6,2,6,4,2,2,4,2,8,8,8,6,8,2,8,8,6,8,2,4, 387 4,8,4,6,4,4,8,4,6,8,8,6,8,2,2,2,4,2,8,2, 388 2,4,2,8,6,6,2,6,4,2,2,4,2,8,4,4,8,4,6,6, 389 6,2,6,4,6,6,2,6,4,8,8,6,8,2,4,4,8,4,6,8, 390 8,6,8,2,2,2,4,2,8,2,2,4,2,8,6,6,2,6,4,4, 391 4,8,4,6,8,8,6,8,2,2,2,4,2,8,2,2,4,2,8,6, 392 6,2,6,4,8,8,6,8,2,6,6,2,6,4,4,4,8,4,6,4, 393 4,8,4,6,2,2,4,2,8,2,2,4,2,8,4,4,8,4,6,6, 394 6,2,6,4,6,6,2,6,4,8,8,6,8,2,6,6,2,6,4,2, 395 2,4,2,8,8,8,6,8,2,8,8,6,8,2,4,4,8,4,6,2, 396 2,4,2,8,4,4,8,4,6,6,6,2,6,4,6,6,2,6,4,8, 397 8,6,8,2,2,2,4,2,8,4,4,8,4,6,6,6,2,6,4,6, 398 6,2,6,4,8,8,6,8,2,8,8,6,8,2,6,6,2,6,4,4, 399 4,8,4,6,4,4,8,4,6,2,2,4,2,8,2,2,4,2,8,4, 400 4,8,4,6,6,6,2,6,4,6,6,2,6,4,8,8,6,8,2,6, 401 6,2,6,4,2,2,4,2,8,8,8,6,8,2,8,8,6,8,2,4, 402 4,8,4,6,2,2,4,2,8,4,4,8,4,6,6,6,2,6,4,6, 403 6,2,6,4,8,8,6,8,2,2,2,4,2,8,4,4,8,4,6,6, 404 6,2,6,4,6,6,2,6,4,8,8,6,8,2,2,2,4,2,8,4, 405 4,8,4,6,6,6,2,6,4,6,6,2,6,4,8,8,6,8,2,8, 406 8,6,8,2,6,6,2,6,4,4,4,8,4,6,4,4,8,4,6,2, 407 2,4,2,8,4,4,8,4,6,8,8,6,8,2,2,2,4,2,8,2, 408 2,4,2,8,6,6,2,6,4,8,8,6,8,2,6,6,2,6,4,4, 409 4,8,4,6,4,4,8,4,6,2,2,4,2,8,8,8,6,8,2,6, 410 6,2,6,4,4,4,8,4,6,4,4,8,4,6,2,2,4,2,8,4, 411 4,8,4,6,8,8,6,8,2,2,2,4,2,8,2,2,4,2,8,6, 412 6,2,6,4,6,6,2,6,4,2,2,4,2,8,8,8,6,8,2,8, 413 8,6,8,2,4,4,8,4,6,8,8,6,8,2,6,6,2,6,4,4, 414 4,8,4,6,4,4,8,4,6,2,2,4,2,8,6,6,2,6,4,2, 415 2,4,2,8,8,8,6,8,2,8,8,6,8,2,4,4,8,4,6,6, 416 6,2,6,4,2,2,4,2,8,8,8,6,8,2,8,8,6,8,2,4, 417 4,8,4,6,8,8,6,8,2,6,6,2,6,4,4,4,8,4,6,4, 418 4,8,4,6,2,2,4,2,8,2,2,4,2,8,4,4,8,4,6,6, 419 6,2,6,4,6,6,2,6,4,8,8,6,8,2,6,6,2,6,4,2, 420 2,4,2,8,8,8,6,8,2,8,8,6,8,2,4,4,8,4,6,2, 421 2,4,2,8,4,4,8,4,6,6,6,2,6,4,6,6,2,6,4,8, 422 8,6,8,2,2,2,4,2,8,4,4,8,4,6,6,6,2,6,4,6, 423 6,2,6,4,8,8,6,8,2,4,4,8,4,6,8,8,6,8,2,2, 424 2,4,2,8,2,2,4,2,8,6,6,2,6,4,6,6,2,6,4,2, 425 2,4,2,8,8,8,6,8,2,8,8,6,8,2,4,4,8,4,6,8, 426 8,6,8,2,6,6,2,6,4,4,4,8,4,6,4,4,8,4,6,2, 427 2,4,2,8,6,6,2,6,4,2,2,4,2,8,8,8,6,8,2,8, 428 8,6,8,2,4,4,8,4,6,6,6,2,6,4,2,2,4,2,8,8, 429 8,6,8,2,8,8,6,8,2,4,4,8,4,6,4,4,8,4,6,8, 430 8,6,8,2,2,2,4,2,8,2,2,4,2,8,6,6,2,6,4,6, 431 6,2,6,4,2,2,4,2,8,8,8,6,8,2,8,8,6,8,2,4, 432 4,8,4,6,8,8,6,8,2,6,6,2,6,4,4,4,8,4,6,4, 433 4,8,4,6,2,2,4,2,8,6,6,2,6,4,2,2,4,2,8,8, 434 8,6,8,2,8,8,6,8,2,4,4,8,4,6,6,6,2,6,4,2, 435 2,4,2,8,8,8,6,8,2,8,8,6,8,2,4,4,8,4,6,6, 436 6,2,6,4,2,2,4,2,8,8,8,6,8,2,8,8,6,8,2,4, 437 4,8,4,6,4,4,8,4,6,8,8,6,8,2,2,2,4,2,8,2, 438 2,4,2,8,6,6,2,6,4,2,2,4,2,8,4,4,8,4,6,6, 439 6,2,6,4,6,6,2,6,4,8,8,6,8,2,4,4,8,4,6,8, 440 8,6,8,2,2,2,4,2,8,2,2,4,2,8,6,6,2,6,4,4, 441 4,8,4,6,8,8,6,8,2,2,2,4,2,8,2,2,4,2,8,6, 442 6,2,6,4,2,2,4,2,8,4,4,8,4,6,6,6,2,6,4,6, 443 6,2,6,4,8,8,6,8,2,8,8,6,8,2,6,6,2,6,4,4, 444 4,8,4,6,4,4,8,4,6,2,2,4,2,8,4,4,8,4,6,8, 445 8,6,8,2,2,2,4,2,8,2,2,4,2,8,6,6,2,6,4,8, 446 8,6,8,2,6,6,2,6,4,4,4,8,4,6,4,4,8,4,6,2, 447 2,4,2,8,8,8,6,8,2,6,6,2,6,4,4,4,8,4,6,4, 448 4,8,4,6,2,2,4,2,8,2,2,4,2,8,4,4,8,4,6,6, 449 6,2,6,4,6,6,2,6,4,8,8,6,8,2,8,8,6,8,2,6, 450 6,2,6,4,4,4,8,4,6,4,4,8,4,6,2,2,4,2,8,4, 451 4,8,4,6,8,8,6,8,2,2,2,4,2,8,2,2,4,2,8,6, 452 6,2,6,4,8,8,6,8,2,6,6,2,6,4,4,4,8,4,6,4, 453 4,8,4,6,2,2,4,2,8,8,8,6,8,2,6,6,2,6,4,4, 454 4,8,4,6,4,4,8,4,6,2,2,4,2,8,6,6,2,6,4,2, 455 2,4,2,8,8,8,6,8,2,8,8,6,8,2,4,4,8,4,6,4, 456 4,8,4,6,8,8,6,8,2,2,2,4,2,8,2,2,4,2,8,6, 457 6,2,6,4,2,2,4,2,8,4,4,8,4,6,6,6,2,6,4,6, 458 6,2,6,4,8,8,6,8,2,4,4,8,4,6,8,8,6,8,2,2, 459 2,4,2,8,2,2,4,2,8,6,6,2,6,4,4,4,8,4,6,8, 460 8,6,8,2,2,2,4,2,8,2,2,4,2,8,6,6,2,6,4,6, 461 6,2,6,4,2,2,4,2,8,8,8,6,8,2,8,8,6,8,2,4, 462 4,8,4,6,4,4,8,4,6,8,8,6,8,2,2,2,4,2,8,2, 463 2,4,2,8,6,6,2,6,4,2,2,4,2,8,4,4,8,4,6,6, 464 6,2,6,4,6,6,2,6,4,8,8,6,8,2,4,4,8,4,6,8, 465 8,6,8,2,2,2,4,2,8,2,2,4,2,8,6,6,2,6,4,4, 466 4,8,4,6,8,8,6,8,2,2,2,4,2,8,2,2,4,2,8,6, 467 6,2,6,4,4,4,8,4,6,8,8,6,8,2,2,2,4,2,8,2, 468 2,4,2,8,6,6,2,6,4,6,6,2,6,4,2,2,4,2,8,8, 469 8,6,8,2,8,8,6,8,2,4,4,8,4,6,8,8,6,8,2,6, 470 6,2,6,4,4,4,8,4,6,4,4,8,4,6,2,2,4,2,8,6, 471 6,2,6,4,2,2,4,2,8,8,8,6,8,2,8,8,6,8,2,4, 472 4,8,4,6,6,6,2,6,4,2,2,4,2,8,8,8,6,8,2,8, 473 8,6,8,2,4,4,8,4,6,8,8,6,8,2,6,6,2,6,4,4, 474 4,8,4,6,4,4,8,4,6,2,2,4,2,8,2,2,4,2,8,4, 475 4,8,4,6,6,6,2,6,4,6,6,2,6,4,8,8,6,8,2,6, 476 6,2,6,4,2,2,4,2,8,8,8,6,8,2,8,8,6,8,2,4, 477 4,8,4,6,2,2,4,2,8,4,4,8,4,6,6,6,2,6,4,6, 478 6,2,6,4,8,8,6,8,2,2,2,4,2,8,4,4,8,4,6,6, 479 6,2,6,4,6,6,2,6,4,8,8,6,8,2,8,8,6,8,2,6, 480 6,2,6,4,4,4,8,4,6,4,4,8,4,6,2,2,4,2,8,2, 481 2,4,2,8,4,4,8,4,6,6,6,2,6,4,6,6,2,6,4,8, 482 8,6,8,2,6,6,2,6,4,2,2,4,2,8,8,8,6,8,2,8, 483 8,6,8,2,4,4,8,4,6,2,2,4,2,8,4,4,8,4,6,6, 484 6,2,6,4,6,6,2,6,4,8,8,6,8,2,2,2,4,2,8,4, 485 4,8,4,6,6,6,2,6,4,6,6,2,6,4,8,8,6,8,2,4, 486 4,8,4,6,8,8,6,8,2,2,2,4,2,8,2,2,4,2,8,6, 487 6,2,6,4,6,6,2,6,4,2,2,4,2,8,8,8,6,8,2,8, 488 8,6,8,2,4,4,8,4,6,8,8,6,8,2,6,6,2,6,4,4, 489 4,8,4,6,4,4,8,4,6,2,2,4,2,8,6,6,2,6,4,2, 490 2,4,2,8,8,8,6,8,2,8,8,6,8,2,4,4,8,4,6,6, 491 6,2,6,4,2,2,4,2,8,8,8,6,8,2,8,8,6,8,2,4, 492 4,8,4,6,4,4,8,4,6,8,8,6,8,2,2,2,4,2,8,2, 493 2,4,2,8,6,6,2,6,4,6,6,2,6,4,2,2,4,2,8,8, 494 8,6,8,2,8,8,6,8,2,4,4,8,4,6,8,8,6,8,2,6, 495 6,2,6,4,4,4,8,4,6,4,4,8,4,6,2,2,4,2,8,6, 496 6,2,6,4,2,2,4,2,8,8,8,6,8,2,8,8,6,8,2,4, 497 4,8,4,6,6,6,2,6,4,2,2,4,2,8,8,8,6,8,2,8, 498 8,6,8,2,4,4,8,4,6,6,6,2,6,4,2,2,4,2,8,8, 499 8,6,8,2,8,8,6,8,2,4,4,8,4,6,4,4,8,4,6,8, 500 8,6,8,2,2,2,4,2,8,2,2,4,2,8,6,6,2,6,4,2, 501 2,4,2,8,4,4,8,4,6,6,6,2,6,4,6,6,2,6,4,8, 502 8,6,8,2,4,4,8,4,6,8,8,6,8,2,2,2,4,2,8,2, 503 2,4,2,8,6,6,2,6,4,4,4,8,4,6,8,8,6,8,2,2, 504 2,4,2,8,2,2,4,2,8,6,6,2,6,4,2,2,4,2,8,4, 505 4,8,4,6,6,6,2,6,4,6,6,2,6,4,8,8,6,8,2,8, 506 8,6,8,2,6,6,2,6,4,4,4,8,4,6,4,4,8,4,6,2, 507 2,4,2,8,4,4,8,4,6,8,8,6,8,2,2,2,4,2,8,2, 508 2,4,2,8,6,6,2,6,4,8,8,6,8,2,6,6,2,6,4,4, 509 4,8,4,6,4,4,8,4,6,2,2,4,2,8,8,8,6,8,2,6, 510 6,2,6,4,4,4,8,4,6,4,4,8,4,6,2,2,4,2,8,8}; 511 char f(int n); 512 513 int main(void) 514 { 515 #ifdef LOCAL 516 freopen("568in.txt", "r", stdin); 517 //freopen("568out.txt", "w", stdout); 518 #endif 519 520 int n; 521 while(cin >> n) 522 { 523 printf("%5d -> %d ", n, b[n]); 524 } 525 return 0; 526 }