#include<stdio.h>
#define deque_size 10000
int deque[ deque_size] = { 0 , } ;
int f= 0 ;
int b= deque_size- 1 ;
void push_front( ) ;
void push_back( ) ;
void pop_front( ) ;
void pop_back( ) ;
void size( ) ;
void empty( ) ;
void front( ) ;
void back( ) ;
int main( void ) {
int num_of_order;
char order[ 20 ] ;
scanf ( "%d" , & num_of_order
) ; int i;
for ( i= 0 ; i< num_of_order; i++ ) {
if ( strcmp ( order
, "push_front" ) == 0 ) push_front
( ) ; else if ( strcmp ( order
, "push_back" ) == 0 ) push_back
( ) ; else if ( strcmp ( order
, "pop_front" ) == 0 ) pop_front
( ) ; else if ( strcmp ( order
, "pop_back" ) == 0 ) pop_back
( ) ; else if ( strcmp ( order
, "size" ) == 0 ) size
( ) ; else if ( strcmp ( order
, "empty" ) == 0 ) empty
( ) ; else if ( strcmp ( order
, "front" ) == 0 ) front
( ) ; else if ( strcmp ( order
, "back" ) == 0 ) back
( ) ; }
return 0 ;
}
void push_front( ) {
int num;
deque[ f] = num;
f++;
}
void push_back( ) {
int num;
deque[ b] = num;
b--;
}
void pop_front( ) {
if ( deque[ f- 1 ] != 0 && f- 1 >= 0 ) {
deque[ f- 1 ] = 0 ;
f--;
}
else if ( deque[ deque_size- 1 ] != 0 ) {
printf ( "%d\n " , deque
[ deque_size
- 1 ] ) ; deque[ deque_size- 1 ] = 0 ;
// b++;
}
else
}
void pop_back( ) {
if ( deque[ b+ 1 ] != 0 && b+ 1 < 10000 ) {
deque[ b+ 1 ] = 0 ;
b++;
}
else if ( deque[ 0 ] != 0 ) {
deque[ 0 ] = 0 ;
// f--;
}
else
}
void size( ) {
int count= 0 ;
int i;
for ( i= 0 ; i< deque_size; i++ ) {
if ( deque[ i] != 0 )
count++;
}
}
void empty( ) {
if ( b- f== deque_size- 1 )
else
}
void front( ) {
if ( deque[ f- 1 ] != 0 && f- 1 >= 0 )
else if ( deque[ deque_size- 1 ] != 0 )
printf ( "%d\n " , deque
[ deque_size
- 1 ] ) ; else
}
void back( ) {
if ( deque[ b+ 1 ] != 0 && b+ 1 < 10000 )
else if ( deque[ 0 ] != 0 )
else
}
I2luY2x1ZGU8c3RkaW8uaD4KI2RlZmluZSBkZXF1ZV9zaXplIDEwMDAwCgppbnQgZGVxdWVbZGVxdWVfc2l6ZV09ezAsfTsKaW50IGY9MDsKaW50IGI9ZGVxdWVfc2l6ZS0xOwoKdm9pZCBwdXNoX2Zyb250KCk7CnZvaWQgcHVzaF9iYWNrKCk7CnZvaWQgcG9wX2Zyb250KCk7CnZvaWQgcG9wX2JhY2soKTsKdm9pZCBzaXplKCk7CnZvaWQgZW1wdHkoKTsKdm9pZCBmcm9udCgpOwp2b2lkIGJhY2soKTsKCmludCBtYWluKHZvaWQpewogaW50IG51bV9vZl9vcmRlcjsKIGNoYXIgb3JkZXJbMjBdOwogc2NhbmYoIiVkIiwgJm51bV9vZl9vcmRlcik7CiBpbnQgaTsKIAogZm9yKGk9MDsgaTxudW1fb2Zfb3JkZXI7IGkrKyl7CiAgc2NhbmYoIiVzIiwgb3JkZXIpOwogIGlmKHN0cmNtcChvcmRlciwicHVzaF9mcm9udCIpID09IDApIHB1c2hfZnJvbnQoKTsKICBlbHNlIGlmKHN0cmNtcChvcmRlciwicHVzaF9iYWNrIikgPT0gMCkgcHVzaF9iYWNrKCk7CiAgZWxzZSBpZihzdHJjbXAob3JkZXIsInBvcF9mcm9udCIpID09IDApIHBvcF9mcm9udCgpOwogIGVsc2UgaWYoc3RyY21wKG9yZGVyLCJwb3BfYmFjayIpID09IDApIHBvcF9iYWNrKCk7CiAgZWxzZSBpZihzdHJjbXAob3JkZXIsInNpemUiKSA9PSAwKSBzaXplKCk7CiAgZWxzZSBpZihzdHJjbXAob3JkZXIsImVtcHR5IikgPT0gMCkgZW1wdHkoKTsKICBlbHNlIGlmKHN0cmNtcChvcmRlciwiZnJvbnQiKSA9PSAwKSBmcm9udCgpOwogIGVsc2UgaWYoc3RyY21wKG9yZGVyLCJiYWNrIikgPT0gMCkgYmFjaygpOyAKIH0KCiAgCiByZXR1cm4gMDsKfQoKdm9pZCBwdXNoX2Zyb250KCl7CiBpbnQgbnVtOwogc2NhbmYoIiVkIiwgJm51bSk7CiBkZXF1ZVtmXSA9IG51bTsKIGYrKzsKfQp2b2lkIHB1c2hfYmFjaygpewogaW50IG51bTsKIHNjYW5mKCIlZCIsICZudW0pOwogZGVxdWVbYl0gPSBudW07CiBiLS07Cn0Kdm9pZCBwb3BfZnJvbnQoKXsKIGlmKGRlcXVlW2YtMV0hPTAgJiYgZi0xPj0wKXsKICBwcmludGYoIiVkXG4iLCBkZXF1ZVtmLTFdKTsKICBkZXF1ZVtmLTFdPTA7CiAgZi0tOwogfQogZWxzZSBpZihkZXF1ZVtkZXF1ZV9zaXplLTFdIT0wKXsKICBwcmludGYoIiVkXG4iLCBkZXF1ZVtkZXF1ZV9zaXplLTFdKTsKICBkZXF1ZVtkZXF1ZV9zaXplLTFdPTA7CiAvLyBiKys7CiB9CiBlbHNlCiAgcHJpbnRmKCItMVxuIik7Cn0Kdm9pZCBwb3BfYmFjaygpewogaWYoZGVxdWVbYisxXSE9MCAmJiBiKzE8MTAwMDApewogIHByaW50ZigiJWRcbiIsIGRlcXVlW2IrMV0pOwogIGRlcXVlW2IrMV09MDsKICBiKys7CiB9CiBlbHNlIGlmKGRlcXVlWzBdIT0wKXsKICBwcmludGYoIiVkXG4iLCBkZXF1ZVswXSk7CiAgZGVxdWVbMF09MDsKIC8vIGYtLTsKIH0KIGVsc2UKICBwcmludGYoIi0xXG4iKTsKfQp2b2lkIHNpemUoKXsKIGludCBjb3VudD0wOwogaW50IGk7CiBmb3IoaT0wOyBpPGRlcXVlX3NpemU7IGkrKyl7CiAgaWYoZGVxdWVbaV0hPTApCiAgIGNvdW50Kys7CiB9CiBwcmludGYoIiVkXG4iLCBjb3VudCk7Cn0Kdm9pZCBlbXB0eSgpewogaWYoYi1mPT1kZXF1ZV9zaXplLTEpCiAgcHJpbnRmKCIxXG4iKTsKIGVsc2UKICBwcmludGYoIjBcbiIpOwp9CnZvaWQgZnJvbnQoKXsKIGlmKGRlcXVlW2YtMV0hPTAgJiYgZi0xPj0wKQogIHByaW50ZigiJWRcbiIsIGRlcXVlW2YtMV0pOwogZWxzZSBpZihkZXF1ZVtkZXF1ZV9zaXplLTFdIT0wKQogIHByaW50ZigiJWRcbiIsIGRlcXVlW2RlcXVlX3NpemUtMV0pOwogZWxzZQogIHByaW50ZigiLTFcbiIpOwp9CnZvaWQgYmFjaygpewogaWYoZGVxdWVbYisxXSE9MCAmJiBiKzE8MTAwMDApCiAgcHJpbnRmKCIlZFxuIiwgZGVxdWVbYisxXSk7CiBlbHNlIGlmKGRlcXVlWzBdIT0wKQogIHByaW50ZigiJWRcbiIsIGRlcXVlWzBdKTsKIGVsc2UKICBwcmludGYoIi0xXG4iKTsKIAp9
stdin
MjIKZnJvbnQKYmFjawpwb3BfZnJvbnQKcG9wX2JhY2sKcHVzaF9mcm9udCAxCmZyb250CnBvcF9iYWNrCnB1c2hfYmFjayAyCmJhY2sKcG9wX2Zyb250CnB1c2hfZnJvbnQgMTAKcHVzaF9mcm9udCAzMzMKZnJvbnQKYmFjawpwb3BfYmFjawpwb3BfYmFjawpwdXNoX2JhY2sgMjAKcHVzaF9iYWNrIDEyMzQKZnJvbnQKYmFjawpwb3BfYmFjawpwb3BfYmFjaw==
22
front
back
pop_front
pop_back
push_front 1
front
pop_back
push_back 2
back
pop_front
push_front 10
push_front 333
front
back
pop_back
pop_back
push_back 20
push_back 1234
front
back
pop_back
pop_back