006 - Decimal Table

時間制限 1 秒 / メモリ制限 64 MB / 得点 8 / x 0 /


TLE
1sec
MLE
64MB
得点
8

問題

桁数が$M$の非負整数$A$が$N$個与えられる。
その後$Q$個の命令を実行した後の各数値の桁の総和を出力せよ。
命令は以下のものが与えられる。

  • $Side$ $a$
  • このとき、上から$a$行目の数値の順を左右入れ替えます。
    たとえば、12345という数値を入れ替えると54321という数値になります。

  • $Vertical$ $b$
  • このとき、左から$b$桁目の数字の上下を入れ替えます。
    たとえば、とある桁に1行目から順に12345とあった場合、入れ替えると上から54321となります。
  • $ALL$
  • このとき、全行の位置を入れ替えます。たとえば、

    1123
    2234
    3345
    
    3345
    2234
    1123
    
    という風に入れ替わります。


    入力

    1行目に、N,M,Qが空白区切りで与えられる。
    2行目以降N行に渡って値Aiが与えられる。
    N+2行目以降Q行に渡って命令が与えられる。
    N M Q
    A1
    A2
    ...
    AN
    Query1
    ...
    QueryQ
    

    出力

    命令を実行した後の$N$個の数値の桁の総和を1行ずつ出力せよ。
    最後の改行を忘れずに。

    制約

    • 1 ≤ $N$ ≤ 5000
    • 1 ≤ $M$ ≤ 12
    • 0 ≤ $Q$ ≤ 5000
    • 1 ≤ $a$i ≤ $N$
    • 1 ≤ $b$i ≤ $M$
    • $A$$i$の初期値の最上位桁は0以外である

    入出力例

    例1

    入力

    4 5 0
    11111
    22222
    33333
    44444
    

    出力

    5
    10
    15
    20
    
    命令は0個なので、各数値毎の桁の総和を出力する。

    例2

    入力

    5 5 5
    11111
    22222
    33333
    44444
    55555
    Vertical 1
    Vertical 3
    Side 1
    Side 4
    Vertical 1
    

    出力

    13
    14
    15
    16
    17
    
    1つ目の命令で、1桁目の上下がひっくり返ってしまう。
    2つ目の命令で、3桁目の上下がひっくり返ってしまう。
    このときの数値は、
    51511
    42422
    33333
    24244
    15155
    である。
    3つ目、4つ目の命令で1番の数値と4番の数値の左右がひっくり返ってしまう。
    このとき、
    11515
    42422
    33333
    44242
    15155
    となる。
    5つ目で再度1桁目の上下がひっくり返り、最終的に
    11515
    42422
    33333
    44242
    15155
    となり、各数値毎の桁の総和を順に出力したこととなる。

    例3

    入力

    5 2 1
    12
    34
    56
    78
    90
    ALL
    

    出力

    9
    15
    11
    7
    3
    

    例4

    入力

    10 12 1
    169517312683
    805357156017
    917430144192
    356492108152
    612016023152
    143545492296
    414682132844
    488671826729
    122494074306
    295582003865
    ALL
    

    出力

    53
    42
    68
    47
    54
    29
    46
    45
    48
    52