const int Base=1000000000;//进位制
const int Width=9;//每一位的输出宽度
vector<int> arr;//按位数值阵列
BigNum(long long num=0) {*this=num;}//构造函数
BigNum operator * (BigNum& B)//乘法
{
BigNum x;
x.arr.clear();
long long g(0);
for(long long i=0;;i++)
{
if(i>=this->size()&&i>=B.size()) break;
long long opt=1;
if(i<this->size()) opt*=arr[i];
if(i<B.size()) opt*=B.arr[i];
opt+=g;//包含进位数目
x.arr.push_back(opt%Base);//录入
g=opt/Base;//记录进位数目
}
while(g!=0)
{
x.arr.push_back(g%Base);
g/=Base;
}
return x;
}
BigNum operator *= (BigNum& B)//累乘
{
*this=*this*B;
return *this;
}
rt