#include<stdio.h>
#include<stdlib.h>
struct node
{
int a;
struct node* next;
} ;
node* head;
node* tail;
void printlist( )
{
node* temp;
temp= head;
printf ( "Now the Queue is-> " ) ;
while ( temp! = NULL )
{
printf ( "%d " ,temp- > a) ;
temp= temp- > next;
}
puts ( "" ) ;
}
void add( int x)
{
if ( head== NULL )
{
head= ( node* ) malloc ( sizeof ( node) ) ;
head- > a= x;
head- > next= NULL ;
tail= head;
}
else
{
node* temp= ( node* ) malloc ( sizeof ( node) ) ;
temp- > a= x;
temp- > next= NULL ;
tail- > next= temp;
tail= temp;
}
}
void del( )
{
if ( head== NULL )
{
printf ( "Queue is empty\n " ) ;
}
else
{
printf ( "Deleted item is: %d\n " ,head- > a) ;
node* temp= ( node* ) malloc ( sizeof ( node) ) ;
temp= head;
head= head- > next;
temp- > next= NULL ;
free ( temp) ;
printlist( ) ;
}
}
int main( )
{
int i,num;
while ( ~scanf ( "%d" ,& num) && num)
{
switch ( num)
{
case 1 :
scanf ( "%d" ,& i) ;
add( i) ;
printlist( ) ;
break ;
case 2 :
del( ) ;
break ;
case 3 :
break ;
}
}
return 0 ;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8c3RkbGliLmg+CnN0cnVjdCBub2RlCnsKCWludCBhOwoJc3RydWN0IG5vZGUqIG5leHQ7Cn07Cgpub2RlKiBoZWFkOwpub2RlKiB0YWlsOwoKdm9pZCBwcmludGxpc3QoKQp7Cglub2RlKiB0ZW1wOwoJdGVtcD1oZWFkOwoJcHJpbnRmKCJOb3cgdGhlIFF1ZXVlIGlzLT4gIik7Cgl3aGlsZSh0ZW1wIT1OVUxMKQoJewoJCXByaW50ZigiJWQgIix0ZW1wLT5hKTsKCQl0ZW1wPXRlbXAtPm5leHQ7Cgl9CglwdXRzKCIiKTsKfQoKdm9pZCBhZGQoaW50IHgpCnsKCglpZihoZWFkPT1OVUxMKQoJewoJCWhlYWQ9KG5vZGUqKSBtYWxsb2Moc2l6ZW9mKG5vZGUpKTsKCQloZWFkLT5hPXg7CgkJaGVhZC0+bmV4dD1OVUxMOwoKCQl0YWlsPWhlYWQ7Cgl9CgllbHNlCgl7CgkJbm9kZSogdGVtcD0obm9kZSopIG1hbGxvYyhzaXplb2Yobm9kZSkpOwoKCQl0ZW1wLT5hPXg7CgkJdGVtcC0+bmV4dD1OVUxMOwoJCXRhaWwtPm5leHQ9dGVtcDsKCQl0YWlsPXRlbXA7Cgl9Cgp9CnZvaWQgZGVsKCkKewoJaWYoaGVhZD09TlVMTCkKCXsKCQlwcmludGYoIlF1ZXVlIGlzIGVtcHR5XG4iKTsKCX0KCWVsc2UKCXsKCQlwcmludGYoIkRlbGV0ZWQgaXRlbSBpczogJWRcbiIsaGVhZC0+YSk7CgkJbm9kZSogdGVtcD0obm9kZSopIG1hbGxvYyhzaXplb2Yobm9kZSkpOwoKCQl0ZW1wPWhlYWQ7CgkJaGVhZD1oZWFkLT5uZXh0OwoJCXRlbXAtPm5leHQ9TlVMTDsKCQlmcmVlKHRlbXApOwoKCQlwcmludGxpc3QoKTsKCX0KfQoKaW50IG1haW4oKQp7CglpbnQgaSxudW07CgoKCXdoaWxlKH5zY2FuZigiJWQiLCZudW0pICYmIG51bSkKCXsKCQlzd2l0Y2gobnVtKQoJCXsKCQljYXNlIDE6CgkJCXNjYW5mKCIlZCIsJmkpOwoKCQkJYWRkKGkpOwoJCQlwcmludGxpc3QoKTsKCQkJYnJlYWs7CgkJY2FzZSAyOgoJCQlkZWwoKTsKCQkJYnJlYWs7CgkJY2FzZSAzOgoJCQlicmVhazsKCQl9Cgl9CglyZXR1cm4gMDsKfQo=