1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <string.h>
 4 #define BIN 2
 5 #define OCT 8
 6 #define DEC 10
 7 #define HEX 16
 8 long long a[2500002];
 9 void pb(long long num){
10     unsigned long long i;
11     char ready=0;
12     for(i=(unsigned long long)1<<62 ; i>0 ; i>>=1){
13         if(num & i){
14             ready=1;
15         }
16         if(ready){
17             if(num & i){
18                 putchar('1');
19             }else{
20                 putchar('0');
21             }
22         }
23     }
24     putchar('\n');
25 }
26 int main(){
27     int i;
28     int p,q,r,s,n;
29     char tmp1[20],*tmp2;
30     while(1){
31         for(i=1;i<=7;i++){
32             if(scanf("%s",tmp1)==EOF){
33                 return 0;
34             }
35             strtok(tmp1,"=");
36             tmp2=strtok(NULL,"=");
37             switch(tmp1[0]){
38                 case 'p': p=atoi(tmp2); break;
39                 case 'q': q=atoi(tmp2); break;
40                 case 'r': r=atoi(tmp2); break;
41                 case 'n': n=atoi(tmp2); break;
42                 case 'a': sscanf(tmp2,"%I64d",&a[tmp1[1]-'0']); break;
43                 case 's':
44                     switch(tmp2[0]){
45                         case 'b': s=BIN; break;
46                         case 'o': s=OCT; break;
47                         case 'd': s=DEC; break;
48                         case 'h': s=HEX; break;
49                     }
50                     break;
51             }
52         }
53         for(i=3;i<=n;i++){
54             a[i]=p*a[i-1]+q*a[i-2]+r;
55             a[i]%=8247596325LL;
56         }
57         switch(a[n]){
58             case 7: puts("This is a bad number."); continue;
59             case 8: puts("This is a transitive verb."); continue;
60             case 9: puts("This number has been deleted."); continue;
61         }
62         switch(s){
63             case BIN: pb(a[n]); break;
64             case DEC: printf("%I64d\n",a[n]); break;
65             case OCT: printf("%I64o\n",a[n]); break;
66             case HEX: printf("%I64X\n",a[n]); break;
67         }
68     }
69     return 0;
70 }