#include<iostream> #define maxsize 1020 #define MAX(A,B) (A>B?A:B) char str[maxsize]; struct longnum{ int sign,size; long long data[maxsize]; longnum(){ sign=1;size=0; } longnum(char str[]){ char *p; sign=1;size=0; p=str; if(p[0]=='-') {sign=-1;p++;} size=strlen(p); for(int i=1;i<=size;i++) data[i]=p[size-i]-48; } longnum out(){ printf("%d",data[size]*sign); for(int i=size-1;i>=1;i--) putchar(data[i]+48); putchar('/n'); } }; longnum operator -(longnum a); longnum operator + (longnum a,longnum b); longnum operator - (longnum a,longnum b); longnum operator * (longnum a,longnum b); longnum operator / (longnum a,long long b); longnum operator -(longnum a){ a.sign*=-1; return a; } bool operator < (longnum a,longnum b)