#include #include #include #include #include #include #include using namespace std; typedef long long LL; struct bint { int len,zf; short int s[5000]; bint() { len=0; zf=0; memset(s,0,sizeof(s)); } void qd() { while(s[len-1]==0 && len>0) len--; } int size() { qd(); return len; } void sc() { qd(); if(zf==1) printf("-"); for(int i=len-1;i>=0;i--) printf("%d",s[i]); if(len==0) printf("0"); } void sr() { string xx; cin>>xx; for(int i=xx.size()-1;i>=0;i--) s[xx.size()-i-1]=xx[i]-'0'; len=xx.size(); qd(); } }; int operator < (bint a,bint b) { a.qd(); b.qd(); if(a.lenb.len) return 0; for(int i=a.len-1;i>=0;i--) if(a.s[i]=0;i--) if(a.s[i]!=b.s[i]) return 0; return 1; } int operator != (bint a,bint b) { return !(a==b); } int operator > (bint a,bint b) { return b= (bint a,bint b) { return (a>b)||(a==b); } int operator <= (bint a,bint b) { return (a