#include
using namespace std;
class dl
{ char* u;
int s;
int r;
public:
dl():s(1),r(3) { u=new char[r]; u[0]='0'; u[2]=u[1]=0; }
dl(char* x);
dl(int n) { u=new char[r=n]; s=u[0]=0; }
~dl() { delete [] u; r=s=0; u=NULL; }
void sets();
dl& operator=(const char* x);
friend ostream& operator =0;a[i--]=x.u[j--]);
for(i=r-1,j=y.s-1;j>=0;b[i--]=y.u[j--]);
for(i=r-1,k=0;i>=0;) j=a[ i ]+b[ i ]-96+k,c[i--]=j % 10+48,k=j/10;
for(k=0;k-r+1;k++) if(c[k]!='0') break;
s=r-k;
delete [] u;
u=new char[s+2];
for(i=0;k-r;u[i++]=c[k++]);
for(r=s+2;i-r;u[i++]=0);
sets();
delete [] a,b,c;
}
int main()
{
dl a,b,c;
a="12383457843590845984359843576930560376874657464685068548654836946540";
b="24353453453464356456767875768686867867867855434344646433";
c.addp(a,b);
cout