out3/0016007_3.c
#include <stdio.h>
int main()
{
char a[1000],b[1000];
int q[4];
int j=0,i,k,x,y,c,d,e,u;
while (fgets(a,1000,stdin))
{
for (i=0; i<1000; i++)
{
if (a[i]!=' ')
{
b[j]=a[i];
j++;
}
if (a[i]==';') {
break;
}
}
j=0;
k=0;
u=0;
for (i=0; i<4; i++) {
q[i]=0;
}
switch (b[k]) {
case 'l':
case 'L':
k++;
if (b[k]=='o'||b[k]=='O') {
k++;
if (b[k]=='a'||b[k]=='A') {
k++;
if (b[k]=='d'||b[k]=='D') {
k++;
if (b[k]=='r'||b[k]=='R') {
if (b[k+1]>='a'&&b[k+1]<='f') {
c=(int)(b[k+1]-'a')+10;
}
else if (b[k+1]>='A'&&b[k+1]<='F') {
c=(int)(b[k+1]-'A')+10;
}
else {
c=(int)(b[k+1]-'0');
}
k+=2;
if (b[k]==',') {
k++;
if (b[k]=='[') {
k++;
q[0]=1;
q[1]=c;
if (b[k+1]==']') {
x=(int)(b[k]-'0');
q[2]=0;
q[3]=x;
}
if (b[k+2]==']') {
x=(int)((b[k]-'0')*10+(b[k+1]-'0'))/16;
y=(int)((b[k]-'0')*10+(b[k+1]-'0'))%16;
q[2]=x;
q[3]=y;
}
if (b[k+3]==']') {
x=(int)((b[k]-'0')*100+(b[k+1]-'0')*10+(b[k+2]-'0'))/16;
y=(int)((b[k]-'0')*100+(b[k+1]-'0')*10+(b[k+2]-'0'))%16;
q[2]=x;
q[3]=y;
}
}
else {
q[0]=2;
q[1]=c;
if (b[k+1]>='0'&&b[k+1]<='9') {
if (b[k+2]>='0'&&b[k+2]<='9') {
x=(int)((b[k]-'0')*100+(b[k+1]-'0')*10+(b[k+2]-'0'))/16;
y=(int)((b[k]-'0')*100+(b[k+1]-'0')*10+(b[k+2]-'0'))%16;
q[2]=x;
q[3]=y;
}
else {
x=(int)((b[k]-'0')*10+(b[k+1]-'0'))/16;
y=(int)((b[k]-'0')*10+(b[k+1]-'0'))%16;
q[2]=x;
q[3]=y;
}
}
else {
x=(int)(b[k]-'0');
q[2]=0;
q[3]=x;
}
}
}
}
}
}
}
break;
case 's':
case 'S':
k++;
if (b[k]=='t'||b[k]=='T') {
k++;
if (b[k]=='o'||b[k]=='O') {
k++;
if (b[k]=='r'||b[k]=='R') {
k++;
if (b[k]=='e'||b[k]=='E') {
k++;
if (b[k]=='r'||b[k]=='R') {
if (b[k+1]>='a'&&b[k+1]<='f') {
c=(int)(b[k+1]-'a')+10;
}
else if (b[k+1]>='A'&&b[k+1]<='F') {
c=(int)(b[k+1]-'A')+10;
}
else {
c=(int)(b[k+1]-'0');
}
k+=2;
if (b[k]==',') {
k++;
if (b[k]=='[') {
k++;
q[0]=3;
q[1]=c;
if (b[k+1]==']') {
x=(int)(b[k]-'0');
q[2]=0;
q[3]=x;
}
if (b[k+2]==']') {
x=(int)((b[k]-'0')*10+(b[k+1]-'0'))/16;
y=(int)((b[k]-'0')*10+(b[k+1]-'0'))%16;
q[2]=x;
q[3]=y;
}
if (b[k+3]==']') {
x=(int)((b[k]-'0')*100+(b[k+1]-'0')*10+(b[k+2]-'0'))/16;
y=(int)((b[k]-'0')*100+(b[k+1]-'0')*10+(b[k+2]-'0'))%16;
q[2]=x;
q[3]=y;
}
}
}
}
}
}
}
}
break;
case 'm':
case 'M':
k++;
if (b[k]=='o'||b[k]=='O') {
k++;
if (b[k]=='v'||b[k]=='V') {
k++;
if (b[k]=='e'||b[k]=='E') {
k++;
if (b[k]=='r'||b[k]=='R') {
if (b[k+1]>='a'&&b[k+1]<='f') {
c=(int)(b[k+1]-'a')+10;
}
else if (b[k+1]>='A'&&b[k+1]<='F') {
c=(int)(b[k+1]-'A')+10;
}
else {
c=(int)(b[k+1]-'0');
}
k+=2;
if (b[k]==',') {
k++;
if (b[k]=='r'||b[k]=='R') {
if (b[k+1]>='a'&&b[k+1]<='f') {
d=(int)(b[k+1]-'a')+10;
}
else if (b[k+1]>='A'&&b[k+1]<='F') {
d=(int)(b[k+1]-'A')+10;
}
else {
d=(int)(b[k+1]-'0');
}
q[0]=4;
q[1]=0;
q[2]=c;
q[3]=d;
}
}
}
}
}
}
break;
case 'a':
case 'A':
k++;
if (b[k]=='d'||b[k]=='D') {
k++;
if (b[k]=='d'||b[k]=='D') {
k++;
if (b[k]=='i'||b[k]=='I') {
k++;
if (b[k]=='r'||b[k]=='R') {
if (b[k+1]>='a'&&b[k+1]<='f') {
c=(int)(b[k+1]-'a')+10;
}
else if (b[k+1]>='A'&&b[k+1]<='F') {
c=(int)(b[k+1]-'A')+10;
}
else {
c=(int)(b[k+1]-'0');
}
k+=2;
if (b[k]==',') {
k++;
if (b[k]=='r'||b[k]=='R') {
if (b[k+1]>='a'&&b[k+1]<='f') {
d=(int)(b[k+1]-'a')+10;
}
else if (b[k+1]>='A'&&b[k+1]<='F') {
d=(int)(b[k+1]-'A')+10;
}
else {
d=(int)(b[k+1]-'0');
}
k+=2;
if (b[k]==',') {
k++;
if (b[k]=='r'||b[k]=='R') {
if (b[k+1]>='a'&&b[k+1]<='f') {
e=(int)(b[k+1]-'a')+10;
}
else if (b[k+1]>='A'&&b[k+1]<='F') {
e=(int)(b[k+1]-'A')+10;
}
else {
e=(int)(b[k+1]-'0');
}
q[0]=5;
q[1]=c;
q[2]=d;
q[3]=e;
}
}
}
}
}
}
else if (b[k]=='f'||b[k]=='F') {
k++;
if (b[k]=='r'||b[k]=='R') {
if (b[k+1]>='a'&&b[k+1]<='f') {
c=(int)(b[k+1]-'a')+10;
}
else if (b[k+1]>='A'&&b[k+1]<='F') {
c=(int)(b[k+1]-'A')+10;
}
else {
c=(int)(b[k+1]-'0');
}
k+=2;
if (b[k]==',') {
k++;
if (b[k]=='r'||b[k]=='R') {
if (b[k+1]>='a'&&b[k+1]<='f') {
d=(int)(b[k+1]-'a')+10;
}
else if (b[k+1]>='A'&&b[k+1]<='F') {
d=(int)(b[k+1]-'A')+10;
}
else {
d=(int)(b[k+1]-'0');
}
k+=2;
if (b[k]==',') {
k++;
if (b[k]=='r'||b[k]=='R') {
if (b[k+1]>='a'&&b[k+1]<='f') {
e=(int)(b[k+1]-'a')+10;
}
else if (b[k+1]>='A'&&b[k+1]<='F') {
e=(int)(b[k+1]-'A')+10;
}
else {
e=(int)(b[k+1]-'0');
}
q[0]=6;
q[1]=c;
q[2]=d;
q[3]=e;
}
}
}
}
}
}
}
}
else if (b[k]=='n'||b[k]=='N') {
k++;
if (b[k]=='d'||b[k]=='D') {
k++;
if (b[k]=='r'||b[k]=='R') {
if (b[k+1]>='a'&&b[k+1]<='f') {
c=(int)(b[k+1]-'a')+10;
}
else if (b[k+1]>='A'&&b[k+1]<='F') {
c=(int)(b[k+1]-'A')+10;
}
else {
c=(int)(b[k+1]-'0');
}
k+=2;
if (b[k]==',') {
k++;
if (b[k]=='r'||b[k]=='R') {
if (b[k+1]>='a'&&b[k+1]<='f') {
d=(int)(b[k+1]-'a')+10;
}
else if (b[k+1]>='A'&&b[k+1]<='F') {
d=(int)(b[k+1]-'A')+10;
}
else {
d=(int)(b[k+1]-'0');
}
k+=2;
if (b[k]==',') {
k++;
if (b[k]=='r'||b[k]=='R') {
if (b[k+1]>='a'&&b[k+1]<='f') {
e=(int)(b[k+1]-'a')+10;
}
else if (b[k+1]>='A'&&b[k+1]<='F') {
e=(int)(b[k+1]-'A')+10;
}
else {
e=(int)(b[k+1]-'0');
}
q[0]=8;
q[1]=c;
q[2]=d;
q[3]=e;
}
}
}
}
}
}
}
break;
case 'o':
case 'O':
k++;
if (b[k]=='r'||b[k]=='R') {
k++;
if (b[k]=='r'||b[k]=='R') {
if (b[k+1]>='a'&&b[k+1]<='f') {
c=(int)(b[k+1]-'a')+10;
}
else if (b[k+1]>='A'&&b[k+1]<='F') {
c=(int)(b[k+1]-'A')+10;
}
else {
c=(int)(b[k+1]-'0');
}
k+=2;
if (b[k]==',') {
k++;
if (b[k]=='r'||b[k]=='R') {
if (b[k+1]>='a'&&b[k+1]<='f') {
d=(int)(b[k+1]-'a')+10;
}
else if (b[k+1]>='A'&&b[k+1]<='F') {
d=(int)(b[k+1]-'A')+10;
}
else {
d=(int)(b[k+1]-'0');
}
k+=2;
if (b[k]==',') {
k++;
if (b[k]=='r'||b[k]=='R') {
if (b[k+1]>='a'&&b[k+1]<='f') {
e=(int)(b[k+1]-'a')+10;
}
else if (b[k+1]>='A'&&b[k+1]<='F') {
e=(int)(b[k+1]-'A')+10;
}
else {
e=(int)(b[k+1]-'0');
}
q[0]=7;
q[1]=c;
q[2]=d;
q[3]=e;
}
}
}
}
}
}
break;
case 'x':
case 'X':
k++;
if (b[k]=='o'||b[k]=='O') {
k++;
if (b[k]=='r'||b[k]=='R') {
k++;
if (b[k]=='r'||b[k]=='R') {
if (b[k+1]>='a'&&b[k+1]<='f') {
c=(int)(b[k+1]-'a')+10;
}
else if (b[k+1]>='A'&&b[k+1]<='F') {
c=(int)(b[k+1]-'A')+10;
}
else {
c=(int)(b[k+1]-'0');
}
k+=2;
if (b[k]==',') {
k++;
if (b[k]=='r'||b[k]=='R') {
if (b[k+1]>='a'&&b[k+1]<='f') {
d=(int)(b[k+1]-'a')+10;
}
else if (b[k+1]>='A'&&b[k+1]<='F') {
d=(int)(b[k+1]-'A')+10;
}
else {
d=(int)(b[k+1]-'0');
}
k+=2;
if (b[k]==',') {
k++;
if (b[k]=='r'||b[k]=='R') {
if (b[k+1]>='a'&&b[k+1]<='f') {
e=(int)(b[k+1]-'a')+10;
}
else if (b[k+1]>='A'&&b[k+1]<='F') {
e=(int)(b[k+1]-'A')+10;
}
else {
e=(int)(b[k+1]-'0');
}
q[0]=9;
q[1]=c;
q[2]=d;
q[3]=e;
}
}
}
}
}
}
}
break;
case 'r':
case 'R':
k++;
if (b[k]=='o'||b[k]=='O') {
k++;
if (b[k]=='r'||b[k]=='R') {
k++;
if (b[k]=='r'||b[k]=='R') {
if (b[k+1]>='a'&&b[k+1]<='f') {
c=(int)(b[k+1]-'a')+10;
}
else if (b[k+1]>='A'&&b[k+1]<='F') {
c=(int)(b[k+1]-'A')+10;
}
else {
c=(int)(b[k+1]-'0');
}
k+=2;
if (b[k]==',') {
k++;
if (b[k]=='r'||b[k]=='R') {
if (b[k+1]>='a'&&b[k+1]<='f') {
d=(int)(b[k+1]-'a')+10;
}
else if (b[k+1]>='A'&&b[k+1]<='F') {
d=(int)(b[k+1]-'A')+10;
}
else {
d=(int)(b[k+1]-'0');
}
q[0]=10;
q[1]=c;
q[2]=0;
q[3]=d;
}
}
}
}
}
break;
case 'j':
case 'J':
k++;
if (b[k]=='m'||b[k]=='M') {
k++;
if (b[k]=='p'||b[k]=='P') {
k++;
if (b[k]=='e'||b[k]=='E') {
k++;
if (b[k]=='q'||b[k]=='Q') {
k++;
if (b[k]=='r'||b[k]=='R') {
if (b[k+1]>='a'&&b[k+1]<='f') {
c=(int)(b[k+1]-'a')+10;
}
else if (b[k+1]>='A'&&b[k+1]<='F') {
c=(int)(b[k+1]-'A')+10;
}
else {
c=(int)(b[k+1]-'0');
}
k+=2;
if (b[k]=='=') {
k++;
if (b[k]=='r'||b[k]=='R') {
k++;
if (b[k]=='0') {
k++;
if (b[k]==',') {
k++;
q[0]=11;
q[1]=c;
if (b[k+1]>='0'&&b[k+1]<='9') {
if (b[k+2]>='0'&&b[k+2]<='9') {
x=(int)((b[k]-'0')*100+(b[k+1]-'0')*10+(b[k+2]-'0'))/16;
y=(int)((b[k]-'0')*100+(b[k+1]-'0')*10+(b[k+2]-'0'))%16;
q[2]=x;
q[3]=y;
}
else {
x=(int)((b[k]-'0')*10+(b[k+1]-'0'))/16;
y=(int)((b[k]-'0')*10+(b[k+1]-'0'))%16;
q[2]=x;
q[3]=y;
}
}
else {
x=(int)(b[k]-'0');
q[2]=0;
q[3]=x;
}
}
}
}
}
}
}
}
else {
q[0]=11;
q[1]=0;
if (b[k+1]>='0'&&b[k+1]<='9') {
if (b[k+2]>='0'&&b[k+2]<='9') {
x=(int)((b[k]-'0')*100+(b[k+1]-'0')*10+(b[k+2]-'0'))/16;
y=(int)((b[k]-'0')*100+(b[k+1]-'0')*10+(b[k+2]-'0'))%16;
q[2]=x;
q[3]=y;
}
else {
x=(int)((b[k]-'0')*10+(b[k+1]-'0'))/16;
y=(int)((b[k]-'0')*10+(b[k+1]-'0'))%16;
q[2]=x;
q[3]=y;
}
}
else {
x=(int)(b[k]-'0');
q[2]=0;
q[3]=x;
}
}
}
}
break;
case 'h':
case 'H':
k++;
if (b[k]=='a'||b[k]=='A') {
k++;
if (b[k]=='l'||b[k]=='L') {
k++;
if (b[k]=='t'||b[k]=='T') {
q[0]=12;
q[1]=0;
q[2]=0;
q[3]=0;
}
}
}
break;
default:
u=1;
break;
}
if (u==1||(q[0]==0&&q[1]==0&&q[2]==0&&q[3]==0)) {
printf("Error: ");
printf("%s", a);
break;
}
if (u!=1) {
for (i=0; i<4; i++) {
switch (q[i]) {
case 0:
printf("0000");
break;
case 1:
printf("0001");
break;
case 2:
printf("0010");
break;
case 3:
printf("0011");
break;
case 4:
printf("0100");
break;
case 5:
printf("0101");
break;
case 6:
printf("0110");
break;
case 7:
printf("0111");
break;
case 8:
printf("1000");
break;
case 9:
printf("1001");
break;
case 10:
printf("1010");
break;
case 11:
printf("1011");
break;
case 12:
printf("1100");
break;
case 13:
printf("1101");
break;
case 14:
printf("1110");
break;
case 15:
printf("1111");
break;
default:
break;
}
}
}
for (i=0; i<1000; i++) {
a[i]=' ';
b[i]=' ';
}
}
return 0;
}