#include<iostream>
#include<math.h>
using namespace std;
int main()
{
int i,n,k,flag=1;
cout << "Enter a number:" << endl;
cin >> n;
if(n==1)
{
cout << "Not a mersenne number" << endl;
return 0;
}
n=n+1;
while(n>0)
{
if(n==1)
break;
if(n%2 != 0)
{
flag = 0;
break;
}
else
n=n/2;
}
if(flag==1)
cout << "Mersenne number" << endl;
else
cout << "Not a mersenne number" << endl;
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPG1hdGguaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IG1haW4oKQp7CgkKCWludCBpLG4sayxmbGFnPTE7Cgljb3V0IDw8ICJFbnRlciBhIG51bWJlcjoiIDw8IGVuZGw7CgljaW4gPj4gbjsKCWlmKG49PTEpCgl7CgkJY291dCA8PCAiTm90IGEgbWVyc2VubmUgbnVtYmVyIiA8PCBlbmRsOwoJCXJldHVybiAwOwoJfQoJCgluPW4rMTsKCXdoaWxlKG4+MCkKCXsKCQlpZihuPT0xKQoJCQlicmVhazsKCQlpZihuJTIgIT0gMCkKCQl7CgkJCWZsYWcgPSAwOwoJCQlicmVhazsKCQl9CgkJZWxzZQoJCQluPW4vMjsKCX0KCWlmKGZsYWc9PTEpCgkJY291dCA8PCAiTWVyc2VubmUgbnVtYmVyIiA8PCBlbmRsOwoJZWxzZQoJCWNvdXQgPDwgIk5vdCBhIG1lcnNlbm5lIG51bWJlciIgPDwgZW5kbDsKCQpyZXR1cm4gMDsKfQ==