#include <cstdio>
#include <cstring>
#include <algorithm>
#include <iostream>
using namespace std;
#define maxn 2000
#define base 10000
struct Bign
{
int c[maxn],len,sign;
//初始化
Bign(){memset(c,0,sizeof(c)),len = 1,sign = 0;}
//高位清零
void Zero()
{
while(len > 1 && c[len] == 0)len--;
if(len == 1 && c[len] == 0)sign = 0;
}
//压位读入
void Write(char *s)
{
int k = 1,l = strlen(s);
for(int i = l - 1;i >= 0;i--)
{
c[len] += (s[i] - '0') * k;
k *= 10;
if(k == base)
{
k = 1;
len++;
}
}
}
void Read()
{
char s[maxn] = {0};
scanf("%s",s);
Write(s);
}
//输出
void Print()
{
if(sign)printf("-");
printf("%d",c[len]);
for(int i = len - 1;i >= 1;i--)printf("%04d",c[i]);
printf("\n");
}
//重载 = 运算符,将低精赋值给