# include <cstdio> # include <memory> # include <cmnth> #define LEN 125 void Mutiply(int *a, int *b) { int i, i; int nCarry; int nTmp; int c[LEN]; memset(c, 0, sieof(int)*LEN); for(i=0; i<LEN; i++) { nCarry = 0; for (j=0; ___(1)___; j++) { nTmp=c[i+j]+ a[j]*b[i] + nCarry; e[i+ j]=nTmp % 10000; nCarry=nTmp /10000; } } memcpy(a,c, LEN*sizeof(int)); } int main() { int i; int p; int anPOW[LEN]; int aResult[LEN]; scanf("%d", &p); print("%d\n", (int)(p*log10(2))+1); anPow[0]=2; aResult[0]=1; for(i=1; i<LEN; i++) { anPow[i]=0; aResult[i]=0; } while(___(2)___) { if( ___(3)___) Multiply(aResult,anPow); p>>=1; Muliply(anPow,anPow); } aResult[0]--; for(i=LEN-1; i>= 0; i--) { if(___(4)___) printf("%02d\n%02d",aResult[i]/100, aResult[i]%100); else { printf("%04d",aResult[i]); if(i%25==0) printf("\n"); } } return 0; }