#include <stdio.h>
#include <string.h>
void add(char *a, char *b)
{
int i,d,c=0;
for(i=l1;i<l2;i++)
a[i]='0';
for(i=l2;i<l1;i++)
b[i]='0';
for(i=0;i<l1||i<l2;i++)
{
d=(a[i]-'0')+(b[i]-'0')+c;
c=d/10;
d=d%10;
a[i]='0'+d;
}
while(c)
{
a[i]='0'+(c%10);
c/=10;
i++;
}
a[i]='\0';
b[l2]='\0';
return ;
}
void subs(char *a, char*b)
{
int i,d,c=0;
for(i=l2;i<l1;i++)
b[i]='0';
for(i=0;i<l1;i++)
{
d=(a[i]-'0')-(b[i]-'0')-c;
if(d<0)
{
d+=10;
c=1;
}
else
c=0;
a[i]='0'+d;
}
b[l2]='\0';
i=l1-1;
while(i>0 && a[i]=='0')
i--;
a[i+1]='\0';
return ;
}
void divide(char *a, int q)
{
int i;
int c=0,d;
for(i=l-1;i>=0;i--)
{
d=c*10+(a[i]-'0');
c=d%q;
a[i]='0'+(d/q);
}
i=l-1;
while(i>0 && a[i]=='0')
i--;
a[i+1]='\0';
return ;
}
void rev(char *a)
{
int i=0,j=l-1;
char c;
while(i<j)
{
c=a[i];
a[i]=a[j];
a[j]=c;
i++;
j--;
}
return ;
}
int main()
{
int t=10;
while(t--)
{
char a[102], b[102];
rev(a);
rev(b);
add(a,b);
divide(a,2);
rev(a);
rev(a);
subs(a,b);
rev(a);
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KIAp2b2lkIGFkZChjaGFyICphLCBjaGFyICpiKQp7CiAgICBpbnQgaSxkLGM9MDsKICAgIGludCBsMT1zdHJsZW4oYSk7CiAgICBpbnQgbDI9c3RybGVuKGIpOwogCiAgICBmb3IoaT1sMTtpPGwyO2krKykKICAgICAgICBhW2ldPScwJzsKICAgIGZvcihpPWwyO2k8bDE7aSsrKQogICAgICAgIGJbaV09JzAnOwogCiAgICBmb3IoaT0wO2k8bDF8fGk8bDI7aSsrKQogICAgewogICAgICAgIGQ9KGFbaV0tJzAnKSsoYltpXS0nMCcpK2M7CiAgICAgICAgYz1kLzEwOwogICAgICAgIGQ9ZCUxMDsKICAgICAgICBhW2ldPScwJytkOwogICAgfQogICAgd2hpbGUoYykKICAgIHsKICAgICAgICBhW2ldPScwJysoYyUxMCk7CiAgICAgICAgYy89MTA7CiAgICAgICAgaSsrOwogICAgfQogICAgYVtpXT0nXDAnOwogICAgYltsMl09J1wwJzsKIAogICAgcmV0dXJuIDsKfQogCnZvaWQgc3VicyhjaGFyICphLCBjaGFyKmIpCnsKICAgIGludCBpLGQsYz0wOwogICAgaW50IGwxPXN0cmxlbihhKTsKICAgIGludCBsMj1zdHJsZW4oYik7CiAKICAgIGZvcihpPWwyO2k8bDE7aSsrKQogICAgICAgIGJbaV09JzAnOwogCiAgICBmb3IoaT0wO2k8bDE7aSsrKQogICAgewogICAgICAgIGQ9KGFbaV0tJzAnKS0oYltpXS0nMCcpLWM7CiAgICAgICAgaWYoZDwwKQogICAgICAgIHsKICAgICAgICAgICAgZCs9MTA7CiAgICAgICAgICAgIGM9MTsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgICAgICBjPTA7CiAgICAgICAgYVtpXT0nMCcrZDsKICAgIH0KICAgIGJbbDJdPSdcMCc7CiAKICAgIGk9bDEtMTsKICAgIHdoaWxlKGk+MCAmJiBhW2ldPT0nMCcpCiAgICAgICAgaS0tOwogICAgYVtpKzFdPSdcMCc7CiAKICAgIHJldHVybiA7Cn0KIAp2b2lkIGRpdmlkZShjaGFyICphLCBpbnQgcSkKewogICAgaW50IGk7CiAgICBpbnQgbD1zdHJsZW4oYSk7CiAgICBpbnQgYz0wLGQ7CiAKICAgIGZvcihpPWwtMTtpPj0wO2ktLSkKICAgIHsKICAgICAgICBkPWMqMTArKGFbaV0tJzAnKTsKICAgICAgICBjPWQlcTsKICAgICAgICBhW2ldPScwJysoZC9xKTsKICAgIH0KICAgIGk9bC0xOwogICAgd2hpbGUoaT4wICYmIGFbaV09PScwJykKICAgICAgICBpLS07CiAKICAgIGFbaSsxXT0nXDAnOwogCiAgICByZXR1cm4gOwp9CiAKdm9pZCByZXYoY2hhciAqYSkKewogICAgaW50IGw9c3RybGVuKGEpOwogICAgaW50IGk9MCxqPWwtMTsKICAgIGNoYXIgYzsKIAogICAgd2hpbGUoaTxqKQogICAgewogICAgICAgIGM9YVtpXTsKICAgICAgICBhW2ldPWFbal07CiAgICAgICAgYVtqXT1jOwogICAgICAgIGkrKzsKICAgICAgICBqLS07CiAgICB9CiAKICAgIHJldHVybiA7Cn0KIAppbnQgbWFpbigpCnsKICAgIGludCB0PTEwOwogICAgd2hpbGUodC0tKQogICAgewogICAgICAgIGNoYXIgYVsxMDJdLCBiWzEwMl07CiAKICAgICAgICBzY2FuZigiJXMiLGEpOwogICAgICAgIHNjYW5mKCIlcyIsYik7CiAKICAgICAgICByZXYoYSk7CiAgICAgICAgcmV2KGIpOwogCiAgICAgICAgYWRkKGEsYik7CiAgICAgICAgZGl2aWRlKGEsMik7CiAKICAgICAgICByZXYoYSk7CiAgICAgICAgcHJpbnRmKCIlc1xuIixhKTsKIAogICAgICAgIHJldihhKTsKICAgICAgICBzdWJzKGEsYik7CiAKICAgICAgICByZXYoYSk7CiAgICAgICAgcHJpbnRmKCIlc1xuIixhKTsKICAgIH0KICAgIHJldHVybiAwOwp9
./*30/',/-*+-'(+0.
784298058634601�]
39214902931730,('3
392149029317296W�
196074514658650632
196074514658649�a
98037257329320-.0
98037257329320\�
4901862866466292,
49018628664661�[
2450931433233,/(2
24509314332326^�
122546571661660/-
12254657166165�\
612732858308.*,.
6127328583078Y�
30636642915418,+
3063664291540�Z
153183214577,)*1
1531832145766X�