#include<stdio.h>
#include<conio.h>
char N[41]="0000000000000000000017320508075688772935";
char M[41]="0000000000000000000017320508075688772935";
char T[41],R[41],S[21];
int a,b,d,x,y;
int c=40,z=10,E=3;
int main(){
textmode(C40);
for(d=2;d--;d-=E==4)
for(a=x=0;x<40;x++,c-=!d*!a)
a+=b=d?(N[x]-=48):(M[x]-=48),
printf("%c",a+b<1?32:b+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{
z--;
for(a=0,x=40;x--;)
a=M[x]*z+a/10,
T[x]=a?a%10:0;
b=d=y+1;
for(c=0,x=40;x--;)
a=(d?N[--d]:0)-T[x]-c,
T[x]=a+10*(c=a<0);
if(!c) for(R[y++]=z,z=10,x=40;b--;)
N[b]=T[--x];
}while(y<40);
if(E==4) //Raiz cuadrada
do{
S[d=y+1]=--z;
for(a=0,x=d++;x--;)
a=R[x+19]*2+a/10,
S[x]=a?a%10:0;
for(a=0,b=x=2*y+2;x--;)
a=d?S[--d]*z+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(R[++y+19]=z,z=10;b--;)
N[b]=T[b];
}while(y<20);
for(d=E>2?2:1;d--;)
for(a=x=0;x<40;x++)
a+=b=d?R[x]:T[x],
printf("%c",x>38||a+b?b+48:32);
getch();
return 0;
}