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++) 
		{
other

			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;
}