Let queue contains elements (1,2,3,4,5) in order, with 1 being the head. Therefore the below sequence of instructions will be displayed whenever the state of the queue changes.
Initial queue # 12345
X = Deque; Enque(X); # 23451
X = Deque; Enque(X); # 34512
X = Deque; Enque(X); # 45123
X = Deque; Enque(X); # 51234
Print; Deque; # prints 5, queue now is 1234
X = Deque; Enque(X); # 2341
X = Deque; Enque(X); # 3412
X = Deque; Enque(X); # 4123
Print; Deque; # print 4, queue now is 123
X = Deque; Enque(X); # 231
X = Deque; Enque(X); # 312
Print; Deque; # print 3, queue now is 12
X = Deque; Enque(X); # 21
Print; Deque; # print 2, queue now is 1
Print; # print 1
Hence, the number of statements in the program = 29
This is a superior solution compared to the one with 45 steps. The saving comes from the fact that you don't need to preserve the element you just printed.
So total statements required is:
$\sum\limits_{i=1}^n 2i - 1$