#include<stdio.h>
#include<conio.h>
char N[41]="0000000000000000000017320508075688772935";
char M[41]="0000000000000000000017320508075688772935";
char T[41],R[41];
int a,b,d,x,y;
int c=40,E=4;
void plasmar(F){
a+=++x>39||F;
printf("%c",F+48-16*!a);
}
int main(){
textmode(C40);
for(a=x=0;x<40;R[x]=10)
plasmar(N[x]-=48);
if(E<4) for(a=x=0;x<40;c-=!a)
plasmar(M[x]-=48);
if(E==0) //Suma
for(a=0,x=40;x--;)
a=N[x]+M[x]+a/10,
T[x]=a%10;
if(E==1) //Resta
for(c=0,x=40;x--;)
a=N[x]-M[x]-c,
T[x]=a+10*(c=a<0);
if(E==2) //Producto
for(y=0;y<c;y++)
for(a=0,x=40;x--;)
if(a=N[x]*M[39-y]+a/10)
a+=T[x-y],
T[x-y]=a%10;
if(E==3) //Division
do{
R[b=d=y+1]--;
for(a=0,x=40;x--;)
a=M[x]*R[b]+a/10,
T[x]=a?a%10:0;
for(c=0,x=40;x--;)
a=(d?N[--d]:0)-T[x]-c,
T[x]=a+10*(c=a<0);
if(!c) for(y++,x=40;b--;)
N[b]=T[--x];
}while(y<40);
if(E==4) //Raiz cuadrada
do{
for(a=0,c=d=x=y+1;x--;)
a=R[x]*2+a/10,
R[x+21]=a?a%10:0;
R[21+c++]=--R[d];
for(a=0,b=x=2*y+2;x--;)
a=c?R[--c+21]*R[d]+a/10:0,
M[x]=a?a%10:0;
for(c=0,x=b;x--;)
a=N[x]-M[x]-c,
T[x]=a+10*(c=a<0);
if(!c) for(y++;b--;N[b]=T[b]);
}while(y<20);
if(E>2) for(a=x=0;x<40;)
b=E<4?x+1:x<20?0:x-19,
plasmar(R[b]);
for(a=x=0;x<40;)
plasmar(T[x]);
getch();
return 0;
}