#include<stdio.h>
#include<stdlib.h>
typedef long long ll;
ll expo(ll a,ll b,ll mod)
{
ll result=1;
while(b)
{
if(b&1)
result=(result*a)%mod;
a=(a*a)%mod;
b/=2;
}
return result;
}
int isprime(ll n)
{
if(n<2) //special numbers
return 0;
if(n==2) //prime number
return 1;
if(n%2==0) //composite numbers
return 0;
ll d=n-1;
ll count=0;
while(d%2==0)
{
d/=2;
count++;
}
//printf("count = %lld for n = %lld\n",count,n);
ll a;
for(long long iter=0;iter<2;iter++)
{
ll temp=expo(a,d,n);
if(temp==1 || temp==n-1)
continue;
long long flag=0;
for(long long i=0;i<count-1;i++)
{
temp=(temp*temp)%n;
if(temp==1)
return 0;
if(temp==n-1)
{
flag=1;
break;
}
}
if(flag==1)
continue;
else
return 0;
}
return 1;
}
int main()
{
long long test;
ll input;
while(test--)
{
for(long long i=input-1;i>0;i--)
if(isprime(i))
{
break;
}
}
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8c3RkbGliLmg+CnR5cGVkZWYgbG9uZyBsb25nIGxsOwpsbCBleHBvKGxsIGEsbGwgYixsbCBtb2QpCnsKCWxsIHJlc3VsdD0xOwoJd2hpbGUoYikKCXsKCQlpZihiJjEpCgkJCXJlc3VsdD0ocmVzdWx0KmEpJW1vZDsKCQlhPShhKmEpJW1vZDsKCQliLz0yOwoJfQoJcmV0dXJuIHJlc3VsdDsKfQppbnQgaXNwcmltZShsbCBuKQp7CglpZihuPDIpCQkJLy9zcGVjaWFsIG51bWJlcnMKCQlyZXR1cm4gMDsKCWlmKG49PTIpCQkvL3ByaW1lIG51bWJlcgoJCXJldHVybiAxOwoJaWYobiUyPT0wKQkJLy9jb21wb3NpdGUgbnVtYmVycwoJCXJldHVybiAwOwoJbGwgZD1uLTE7CglsbCBjb3VudD0wOwoJd2hpbGUoZCUyPT0wKQoJewoJCWQvPTI7CgkJY291bnQrKzsKCX0KCS8vcHJpbnRmKCJjb3VudCA9ICVsbGQgICBmb3IgbiA9ICVsbGRcbiIsY291bnQsbik7CglsbCBhOwoJZm9yKGxvbmcgbG9uZyBpdGVyPTA7aXRlcjwyO2l0ZXIrKykKCXsKCQkKCQlhPTIrKHJhbmQoKSUobi0yKSk7CgkJbGwgdGVtcD1leHBvKGEsZCxuKTsKCQlpZih0ZW1wPT0xIHx8IHRlbXA9PW4tMSkKCQkJY29udGludWU7CgkJbG9uZyBsb25nIGZsYWc9MDsKCQlmb3IobG9uZyBsb25nIGk9MDtpPGNvdW50LTE7aSsrKQoJCXsKCQkJdGVtcD0odGVtcCp0ZW1wKSVuOwoJCQlpZih0ZW1wPT0xKQoJCQkJcmV0dXJuIDA7CgkJCWlmKHRlbXA9PW4tMSkKCQkJewoJCQkJZmxhZz0xOwoJCQkJYnJlYWs7CgkJCX0KCQl9CgkJaWYoZmxhZz09MSkKCQkJY29udGludWU7CgkJZWxzZQoJCQlyZXR1cm4gMDsKCX0KCXJldHVybiAxOwp9CmludCBtYWluKCkKewoJbG9uZyBsb25nIHRlc3Q7CglsbCBpbnB1dDsKCXNjYW5mKCIlbGxkIiwmdGVzdCk7Cgl3aGlsZSh0ZXN0LS0pCgl7CgkJc2NhbmYoIiVsbGQiLCZpbnB1dCk7CgkJZm9yKGxvbmcgbG9uZyBpPWlucHV0LTE7aT4wO2ktLSkKCQkJaWYoaXNwcmltZShpKSkKCQkJewoJCQkJcHJpbnRmKCIlbGxkXG4iLGkpOwoJCQkJYnJlYWs7CgkJCX0KCX0KCXJldHVybiAwOwp9