#include <iostream>
#include <cmath>
int main()
{
using namespace std ;
//initialize some long ass integers
long long primeanswer = 1,p = 1,sqrt_of_i;
//flag for counting a discovery of a factor
int factorcount = 0;
//for loop counts down in twos from an odd number i is number to check
for (long long i=161;i>0; i=i-2)
{
//reset factor count flag to zero
factorcount =0;
//squaring i means that finding a factor of i wont take as long
sqrt_of_i = sqrt(i);
//loop usues p to get numbers fo checking against square of i
for(long long p=1; p<=sqrt_of_i; p++ )
{
//if there is a remainder of 0 when diveded...
if((i%p)==0)
{
//then a factor has been found, the integer is incremented
factorcount++;
//if there is more than two factors the we are not dealing with a prime
if(factorcount>=2)
{
break;
}
}
}
//if we found only one factor (1) then we output the prime :D
if(factorcount<=1)
{
primeanswer = i;
cout<<primeanswer<<" ";
}
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+CiAKaW50IG1haW4oKQp7CiAgICB1c2luZyBuYW1lc3BhY2Ugc3RkIDsKIAogICAgLy9pbml0aWFsaXplIHNvbWUgbG9uZyBhc3MgaW50ZWdlcnMKICAgIGxvbmcgbG9uZyBwcmltZWFuc3dlciA9IDEscCA9IDEsc3FydF9vZl9pOwogICAgLy9mbGFnIGZvciBjb3VudGluZyBhIGRpc2NvdmVyeSBvZiBhIGZhY3RvcgogICAgaW50IGZhY3RvcmNvdW50ID0gMDsKICAgIC8vZm9yIGxvb3AgY291bnRzIGRvd24gaW4gdHdvcyBmcm9tIGFuIG9kZCBudW1iZXIgaSBpcyBudW1iZXIgdG8gY2hlY2sKICAgIGZvciAobG9uZyBsb25nIGk9MTYxO2k+MDsgaT1pLTIpCiAgICB7CiAgICAgICAgLy9yZXNldCBmYWN0b3IgY291bnQgZmxhZyB0byB6ZXJvCiAgICAgICAgZmFjdG9yY291bnQgPTA7CiAgICAgICAgLy9zcXVhcmluZyBpIG1lYW5zIHRoYXQgZmluZGluZyBhIGZhY3RvciBvZiBpIHdvbnQgdGFrZSBhcyBsb25nCiAgICAgICAgc3FydF9vZl9pID0gc3FydChpKTsKICAgICAgICAvL2xvb3AgdXN1ZXMgcCB0byBnZXQgbnVtYmVycyBmbyBjaGVja2luZyBhZ2FpbnN0IHNxdWFyZSBvZiBpCiAgICAgICAgZm9yKGxvbmcgbG9uZyBwPTE7IHA8PXNxcnRfb2ZfaTsgcCsrICkKICAgICAgICB7CiAgICAgICAgICAgIC8vaWYgdGhlcmUgaXMgYSByZW1haW5kZXIgb2YgMCB3aGVuIGRpdmVkZWQuLi4KICAgICAgICAgICAgaWYoKGklcCk9PTApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIC8vdGhlbiBhIGZhY3RvciBoYXMgYmVlbiBmb3VuZCwgdGhlIGludGVnZXIgaXMgaW5jcmVtZW50ZWQKICAgICAgICAgICAgICAgIGZhY3RvcmNvdW50Kys7CiAgICAgICAgICAgICAgICAvL2lmIHRoZXJlIGlzIG1vcmUgdGhhbiB0d28gZmFjdG9ycyB0aGUgd2UgYXJlIG5vdCBkZWFsaW5nIHdpdGggYSBwcmltZQogICAgICAgICAgICAgICAgaWYoZmFjdG9yY291bnQ+PTIpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KIAogICAgICAgIH0KICAgICAgICAvL2lmIHdlIGZvdW5kIG9ubHkgb25lIGZhY3RvciAoMSkgdGhlbiB3ZSBvdXRwdXQgdGhlIHByaW1lIDpECiAgICAgICAgaWYoZmFjdG9yY291bnQ8PTEpCiAgICAgICAgewogICAgICAgICAgICBwcmltZWFuc3dlciA9IGk7CiAgICAgICAgICAgICAgIGNvdXQ8PHByaW1lYW5zd2VyPDwiICI7CiAgICAgICAgfQogICAgfQogCn0K