PRINTMOVE  Move it, please!
One day, Lius tried to work at a database company. At that time, he was asked to handle data in a form of a matrix of NxM. At first, the data were numbered from 1 to N*M and sorted from topleft to the bottomright. Then, his boss started to give him some commands to shift the data. Lius had to do all of his boss command(s) one by one and previewing it to him before finishing another command. There are 4 types of commands:
 "up" : Shift the data 1 row up, the data in top row is moved to the bottom row.
 "down" : Shift the data 1 row below, the data in bottom row is moved to the top row.
 "left" : Shift the data 1 columns to the left, the data in the first column is moved to the last column.
 "right" : Shift the data 1 columns to the right, the data in the last column is moved to the first column.
Note: Put zeroes before the data numbers if the digits of the numbers are less than the digit of the largest number in the matrix (see input & output examples for clarification).
PS: My fastest time is 0.15s :D
Input
First line of input consists of integer N and M (1 ≤ N*M ≤ 10^3), denoting the number of rows and columns of the matrix. The next line of input is an integer C (0 ≤ C ≤ 10^3), denoting the number of commands that should be done, followed by C lines, the orders that should be done by the program.
Output
First output the initial value of the matrix of N x M,followed by a newline. After that, for each commands print"Command #X:",where X (1 ≤ X ≤ C) is the command number, followed by a newline. After that, print the new set of data after affected by the command(s) given by his boss. There must be no trailing spaces at the end of printed lines, neither empty characters. Print a newline after each testcase.
Example
Input: 3 4 5 up down left right down Output: 01 02 03 04 05 06 07 08 09 10 11 12 Command #1: 05 06 07 08 09 10 11 12 01 02 03 04 Command #2: 01 02 03 04 05 06 07 08 09 10 11 12 Command #3: 02 03 04 01 06 07 08 05 10 11 12 09 Command #4: 01 02 03 04 05 06 07 08 09 10 11 12 Command #5: 09 10 11 12 01 02 03 04 05 06 07 08Warning: large Input/Output data, be careful with certain languages!
hide comments
hanstan:
20161206 15:19:41
Solve http://www.spoj.com/problems/PRINTMOVE2/ after solving this one for additional challenge :D 

vengatesh15:
20161115 14:49:50
Easy one...

Added by:  hanstan 
Date:  20160517 
Time limit:  1s 
Source limit:  50000B 
Memory limit:  1536MB 
Cluster:  Cube (Intel G860) 
Languages:  All except: ASM64 GOSU JSMONKEY 
Resource:  Self 