printf("%d",a[a[99]-i-1]);
printf("\n\n");
return;
}
int cmp(int a1[MAX],int a2[MAX])
{ int l1, l2;
int i;
l1=a1[99];
l2=a2[99];
if (l1>l2)
return 1;
if (l1return -1;
for(i=(l1-1);i>=0;i--)
{
if (a1[i]>a2[i])
return 1 ;
if (a1[i]return -1;
}
return 0;
}
void mov(int a[MAX],int *b)
{
int j;
for(j=0;jb[j]=a[j];
return ;
}
void mul(int a1[MAX],int a2[MAX],int *c) {
int i,j;
int y;
int x;
int z;
int w;
int l1, l2;
l1=a1[MAX-1];
l2=a2[MAX-1];
if (a1[MAX-2]=='-'&& a2[MAX-2]=='-') c[MAX-2]=0;
else if (a1[MAX-2]=='-')
c[MAX-2]='-';
else if (a2[MAX-2]=='-')
c[MAX-2]='-';
for(i=0;i{
for(j=0;j{
x=a1[i]*a2[j];
y=x/10;
z=x%10;
w=i+j;
c[w]=c[w]+z;
c[w+1]=c[w+1]+y+c[w]/10;
c[w]=c[w]%10;
}
}
w=l1+l2;
if(c[w-1]==0)w=w-1;
c[MAX-1]=w;
return;
}
void add(int a1[MAX],int a2[MAX],int *c) {
int i,l1,l2;
int len,temp[MAX];
int k=0;
l1=a1[MAX-1];
l2=a2[MAX-1];
if((a1[MAX-2]=='-')&&(a2[MAX-2]=='-')) {
c[MAX-2]='-';
}
else if (a1[MAX-2]=='-')
{
mov(a1,temp);
temp[MAX-2]=0;
sub(a2,temp,c);
return;
}
else if (a2[MAX-2]=='-')
{
mov(a2,temp);
temp[98]=0;
sub(a1,temp,c);
return;
}
if(l1else len=l2;
for(i=0;i{
c[i]=(a1[i]+a2[i]+k)%10;
k=(a1[i]+a2[i]+k)/10;
}
if(l1>len)
{
for(i=len;i{
c[i]=(a1[i]+k)%10;
k=(a1[i]+k)/10;
}
if(k!=0)
{
c[l1]=k;
len=l1+1;
}
else len=l1;
}
else
{
for(i=len;i{
c[i]=(a2[i]+k)%10;
k=(a2[i]+k)/10;
}
if(k!=0)
{
c[l2]=k;
len=l2+1;
}
else len=l2;
}
c[99]=len;
return;
}
void sub(int a1[MAX],int a2[MAX],int *c) {
int i,l1,l2;
int len,t1[MAX],t2[MAX];
int k=0;
l1=a1[MAX-1];
l2=a2[MAX-1];
if ((a1[MAX-2]=='-') && (a2[MAX-2]=='-')) {
mov(a1,t1);
mov(a2,t2);
t1[MAX-2]=0;
t2[MAX-2]=0;
sub(t2,t1,c);
return;