#include using namespace std; #include typedef boost::multiprecision::cpp_int mp; mp pow(mp a,mp b){ mp ans=1; mp temp=a; while(b>0){ if(b%2){ ans*=temp; } temp=temp*temp; b=b/2; } return ans; } int main(){ mp N; cin>>N; mp ans=0; for(mp x=1;x*x+x=pow(2,K);++K){ for(mp p=2;pow(p,K-1)<=N;++p){ if(N%(mp)((pow(p,K)-1)/(p-1))==0){ cerr<