#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define MOD 2147483648
inline int mul_mod(int a, int b, int c)
{
int div, mod;
asm ("mul %3; div %4": "=a" (div), "=&d" (mod): "a" (a), "r" (b), "r" (c));
return mod;
// int res, div;
// asm volatile("mull %%ebx; div %%ecx" : "=a"(div), "=d"(res) : "a"(x), "b"(y), "c"(n));
// return res;
}
static unsigned powmod(unsigned long long int a, unsigned long long int k, unsigned int n)
{
unsigned long long int b=1;
while (k)
{
if (!(k & 1))
{
k = k>>1;
// asm volatile("divl %%ebx" : "=a"(k) : "a"(k), "b"(2));
a = mul_mod(a,a,n);
}
else
{
--k;
b = mul_mod(b,a,n);
}
}
return b;
}
int isprime(unsigned int m)
{
int t=m-1;
int s=0;
while (!(t & 1))
{
++s;
t = t >> 1;
}
unsigned int a = 3;
unsigned long long int z = powmod (a,t,m);
if (z != 1)
{
int k;
for (k = s; k > 0; --k)
{
if (z == m-1)
{
return 1;
}
z= powmod(z,2,m);
}
return 0;
}
return 1;
}
/*
16760697
16921010
17223855
17353014
17396745
18525293
19178066
19410253
19431849
19517126
19872927*/
int main()
{
putchar('0');
unsigned int a=1;
int i;
int j=1;
int x[]={-1, 1814223, 2302519,5802139, 6018531, 6748041, 7376997, 8331288, 8384744,
8482997, 8684368, 8906901, 9351608, 9639741, 10514661,10537443, 10833847, 11729322,
11817290, 11938308, 12241470, 12581970, 14088293, 14385240, 14747267, 15942193,
16697128, 16760697, 16921010, 17223855, 17353014, 17396745, 18525293, 0};
while (x[j])
{
for (i = x[j-1]+1; i < x[j] ; ++i)
{
a = (a + 1234567890)%(MOD);
if (!(a%5)||!(a%3)||!(a%7)||!(a%11)||!(a%13)||!(a%17)||!(a%19)||!(a%23)||!(a%29)
||!(a%31)||!(a%37)||!(a%41)||!(a%43)||!(a%47)||!(a%53)
||!(a%59)||!(a%61)||!(a%67)||!(a%71)) putchar('0');
else
if (isprime (a)) putchar('1');
else putchar('0');
//printf ("%d", isprime (a));
}
putchar('0');
a = (a + 1234567890)%(MOD);
++j;
}
return 0;
}