1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <string.h>
 4 #define bool char
 5 bool blist[200005];
 6 int n,end;
 7 int main(){
 8     char in[256],*p;
 9     int i,mess,pre,del;
10     memset(blist,0,sizeof(blist));
11     scanf("%d",&n);
12     end=n;
13     getchar();
14     for(i=1;i<=n;i++){
15         blist[i]=1;
16     }
17     while(gets(in)){
18         if(in[0]>= 'A' && in[0]<= 'Z'){
19             in[0]+=32;
20         }
21         switch(in[0]){
22             case 'c':
23                 printf("%d book",n);
24                 if(n != 0 && n != 1){
25                     putchar('s');
26                 }
27                 putchar('\n');
28                 break;
29             case 'e':
30                 if(n == 0 || n == 1){
31                     puts("0");
32                     continue;
33                 }
34                 mess=0;
35                 for(i=1;!blist[i];i++);
36                 pre=i;
37                 for(i++;i<=end;i++){
38                     if(blist[i]){
39                         mess+=(i-pre-1);
40                         pre=i;
41                     }
42                 }
43                 printf("%d\n",mess);
44                 break;
45             case 'a':
46                 if(n==0){
47                     end=1;
48                     n=1;
49                     blist[1]=1;
50                 }else{
51                     end++;
52                     n++;
53                     blist[end]=1;
54                 }
55                 break;
56             case 'd':
57                 p=strtok(in," ");
58                 p=strtok(NULL," ");
59                 del=atoi(p);
60                 if(blist[del]==0){
61                     puts("Not found");
62                 }else{
63                     blist[del]=0;
64                     n--;
65                     if(del==end && n!=0){
66                         for(;!blist[end];end--);
67                     }
68                 }
69                 break;
70             case 'q':
71                 if(n==0){
72                     puts("No book");
73                 }
74                 for(i=1;i<=end;i++){
75                     if(blist[i]){
76                         printf("%d\n",i);
77                     }
78                 }
79                 break;
80             default:
81                 puts("Invalid command");
82         }
83     }
84     return 0;
85 }