#include #include #include #include using namespace std; #define mp make_pair #define x first #define y second typedef pair pii; typedef long long ll; ll povrh[63]; int arr[63]; int findvp(int x,int p){ int ret=0; int d=p; while(x>=d){ ret+=x/d; d*=p; } return ret; } int main(){ ios::sync_with_stdio(0); cin.tie(0); for(int i=0;i<60;i++){ povrh[i]=1ll; for(ll j=2;j<60;j++){ int pr=1; for(int k=2;k*k<=j;k++){ if(j%k==0){ pr=0; break; } } if(pr){ int v=0; v+=findvp(59,j); v-=findvp(i,j); v-=findvp(59-i,j); while(v){ povrh[i]*=j; v--; } } } } ll n; cin>>n; if(n==0){ cout<<0<<"\n"<<"0 0"; return 0; } for(int i=29;i>=0;i--){ while(povrh[i]<=n){ n-=povrh[i]; arr[i]++; } } for(int i=0;i<20;i++){ cout<=0;j--){ if(arr[j]>i) cout<<2*i<<" "<<119-2*j<<"\n"; } } return 0; }