#include #include int n,m,a[90]; struct bigint { int data[80],len; void refresh() { for(int i=0; i<30; i++) data[i+1]+=data[i]/10,data[i]%=10; for(len=70;len>=0&&data[len]==0;len--); if(len<0) len=0; len++; } bigint(int val=0) { memset(data,0,sizeof(data)); data[0]=val; refresh(); } bigint operator+=(const bigint& rhs) { for(int i=0; ib.len) return a; if(a.len=0; len--) if(a.data[len]>b.data[len]) return a; else if(a.data[len]0&&ans.data[len]==0; len--); for(; len>=0; len--) printf("%d",ans.data[len]); return 0; }