#include <iostream>
#include <new>
using namespace std;
int main() {
long i;
bool *x,prime_factors(long);
x=new bool[100000]();
for(i=2014;i>0;i++)
{
x[i]=prime_factors(i);
if(x[i]==true && x[i-1]==true && x[i-2]==true)
{
cout<<(i-2);
break;
}
}
delete []x;
return 0;
}
bool prime_factors(long n)
{
char *range;
int prime_div_count=0;
long k,j,temp=n;
range=new char[n]();
for(k=2;k<=(n/2);k++)
{
if(range[k]==0)
{
if(n%k==0)
{
prime_div_count++;
temp/=k;
}
for(j=k;j<=(n/2);j+=k)
range[j]='n';
}
}
if(prime_div_count==0)
prime_div_count++;
delete []range;
return (prime_div_count==3 && temp==1)?true:false;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bmV3Pgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7Cglsb25nIGk7Cglib29sICp4LHByaW1lX2ZhY3RvcnMobG9uZyk7Cgl4PW5ldyBib29sWzEwMDAwMF0oKTsKCWZvcihpPTIwMTQ7aT4wO2krKykKCQl7CgkJCXhbaV09cHJpbWVfZmFjdG9ycyhpKTsKCQkJaWYoeFtpXT09dHJ1ZSAmJiB4W2ktMV09PXRydWUgJiYgeFtpLTJdPT10cnVlKQoJCQkJewoJCQkJCWNvdXQ8PChpLTIpOwoJCQkJCWJyZWFrOwoJCQkJfQoJCX0KCWRlbGV0ZSBbXXg7CglyZXR1cm4gMDsKfQpib29sIHByaW1lX2ZhY3RvcnMobG9uZyBuKQoJewoJCWNoYXIgKnJhbmdlOwoJCWludCBwcmltZV9kaXZfY291bnQ9MDsKCQlsb25nIGssaix0ZW1wPW47CgkJcmFuZ2U9bmV3IGNoYXJbbl0oKTsKCQlmb3Ioaz0yO2s8PShuLzIpO2srKykKCQkJewoJCQkJaWYocmFuZ2Vba109PTApCgkJCQkJewoJCQkJCQlpZihuJWs9PTApCgkJCQkJCQl7CgkJCQkJCQkJcHJpbWVfZGl2X2NvdW50Kys7CgkJCQkJCQkJdGVtcC89azsKCQkJCQkJCX0KCQkJCQkJZm9yKGo9aztqPD0obi8yKTtqKz1rKQoJCQkJCQkJcmFuZ2Vbal09J24nOwoJCQkJCX0KCQkJfQoJCWlmKHByaW1lX2Rpdl9jb3VudD09MCkKCQkJcHJpbWVfZGl2X2NvdW50Kys7CgkJZGVsZXRlIFtdcmFuZ2U7CgkJcmV0dXJuIChwcmltZV9kaXZfY291bnQ9PTMgJiYgdGVtcD09MSk/dHJ1ZTpmYWxzZTsKCX0=