Cod sursa(job #504334)
#include <fstream>
using namespace std;
#define dim 3020
int v[dim], a[dim];
int main()
{
ifstream fin("patrate2.in");
ofstream fout("patrate2.out");
long long unsigned n, rez, p, i, cifre, j;
fin>>n;
rez=n*n;
p=1;
v[0]=1;
v[1]=1;
a[0]=1;
for(i=1;i<=rez;++i)
{
j=v[0];
cifre=1;
while(j>0)
{
v[cifre]=v[cifre]*2;
++cifre;
--j;
}
for(j=1;j<=cifre;++j)
while(v[j]>9)
{++v[j+1];v[j]-=10;}
v[0]=cifre-1;
while(v[v[0]+1]!=0)
++v[0];
}
j=v[0];
cifre=1;
while(j>0)
{
v[cifre]=v[cifre]*n;
++cifre;
--j;
}
for(j=1;j<=cifre;++j)
while(v[j]>9)
{++v[j+1];v[j]-=10;}
v[0]=cifre-1;
while(v[v[0]+1]!=0)
++v[0];
for(i=v[0];i>=1;--i)
fout<<v[i];
return 0;
}