# include # include using namespace std; int func(char c) { return int(c)-'0'; } char revfunc(int a) { return a+'0'; } // az inja: tabe zarb adad chand raghami dar yek raghami string mul(string a,char b) { int c = func(b); string m=""; int tmp =0; for(int i=a.size()-1;i>=0;--i){ int f; f =(func(a[i])*c+tmp); m=revfunc(f%10)+m; tmp = f/10; } if(tmp!=0) m=revfunc(tmp)+m; return m; } // jamme adade chand raghami ba chand raghami string add(string a,string b) { int sizea,sizeb; sizea=a.size(); sizeb=b.size(); if(sizea>sizeb) for(int i=0;i<(sizea-sizeb);++i) b='0'+b; else if(sizeb>sizea) for(int i=0;i<(sizeb-sizea);++i) a='0'+a; int tmp=0; string m=""; for(int i=a.size()-1;i>=0;--i){ m=revfunc((func(a[i])+func(b[i])+tmp)%10)+m; tmp=(func(a[i])+func(b[i])+tmp)/10; } if(tmp!=0) m=revfunc(tmp)+m; return m; } // zarb adade chand raghami dar chand raghami string apmul(string a,string b) { string g[b.size()]; for(int i=b.size()-1;i>=0;--i){ g[i]=mul(a,b[i]); for(int j=b.size()-1-i;j>=1;--j) g[i]+='0'; } string sum,tmp; for(int i=0;i>n; for(int i=1;i<=n;i++){ str=add(str,one); mult=apmul(mult,str); } int sum=0; for(int i=0;i