// File: tanakh[P]icfpc2015/main.cpp
// Function: to_command(char)
command to_command(char c) {
  c = tolower(c);
  if (cmdmap.empty()) {
    cmdmap['p'] = W;
    cmdmap['\''] = W;
    cmdmap['!'] = W;
    cmdmap['.'] = W;
    cmdmap['0'] = W;
    cmdmap['3'] = W;

    cmdmap['b'] = E;
    cmdmap['c'] = E;
    cmdmap['e'] = E;
    cmdmap['f'] = E;
    cmdmap['y'] = E;
    cmdmap['2'] = E;

    cmdmap['a'] = SW;
    cmdmap['g'] = SW;
    cmdmap['h'] = SW;
    cmdmap['i'] = SW;
    cmdmap['j'] = SW;
    cmdmap['4'] = SW;

    cmdmap['l'] = SE;
    cmdmap['m'] = SE;
    cmdmap['n'] = SE;
    cmdmap['o'] = SE;
    cmdmap[' '] = SE;
    cmdmap['5'] = SE;

    cmdmap['d'] = CW;
    cmdmap['q'] = CW;
    cmdmap['r'] = CW;
    cmdmap['v'] = CW;
    cmdmap['z'] = CW;
    cmdmap['1'] = CW;

    cmdmap['k'] = CCW;
    cmdmap['s'] = CCW;
    cmdmap['t'] = CCW;
    cmdmap['u'] = CCW;
    cmdmap['w'] = CCW;
    cmdmap['x'] = CCW;
  }

  return cmdmap[c];
}

// Assembly:
subq $0x28, %rsp
movb %dil, %al
movb %al, 0x27(%rsp)
movsbl 0x27(%rsp), %edi
callq 0x4530
movb %al, 0x27(%rsp)
leaq 0x44ed0(%rip), %rdi     # 0x4b910
callq 0x11dc0
testb $0x1, %al
jne 0x6a4e
jmp 0x6e3e
movb $0x70, 0x26(%rsp)
leaq 0x44eb6(%rip), %rdi     # 0x4b910
leaq 0x26(%rsp), %rsi
callq 0x11de0
movl $0x0, (%rax)
movb $0x27, 0x25(%rsp)
leaq 0x44e9a(%rip), %rdi     # 0x4b910
leaq 0x25(%rsp), %rsi
callq 0x11de0
movl $0x0, (%rax)
movb $0x21, 0x24(%rsp)
leaq 0x44e7e(%rip), %rdi     # 0x4b910
leaq 0x24(%rsp), %rsi
callq 0x11de0
movl $0x0, (%rax)
movb $0x2e, 0x23(%rsp)
leaq 0x44e62(%rip), %rdi     # 0x4b910
leaq 0x23(%rsp), %rsi
callq 0x11de0
movl $0x0, (%rax)
movb $0x30, 0x22(%rsp)
leaq 0x44e46(%rip), %rdi     # 0x4b910
leaq 0x22(%rsp), %rsi
callq 0x11de0
movl $0x0, (%rax)
movb $0x33, 0x21(%rsp)
leaq 0x44e2a(%rip), %rdi     # 0x4b910
leaq 0x21(%rsp), %rsi
callq 0x11de0
movl $0x0, (%rax)
movb $0x62, 0x20(%rsp)
leaq 0x44e0e(%rip), %rdi     # 0x4b910
leaq 0x20(%rsp), %rsi
callq 0x11de0
movl $0x1, (%rax)
movb $0x63, 0x1f(%rsp)
leaq 0x44df2(%rip), %rdi     # 0x4b910
leaq 0x1f(%rsp), %rsi
callq 0x11de0
movl $0x1, (%rax)
movb $0x65, 0x1e(%rsp)
leaq 0x44dd6(%rip), %rdi     # 0x4b910
leaq 0x1e(%rsp), %rsi
callq 0x11de0
movl $0x1, (%rax)
movb $0x66, 0x1d(%rsp)
leaq 0x44dba(%rip), %rdi     # 0x4b910
leaq 0x1d(%rsp), %rsi
callq 0x11de0
movl $0x1, (%rax)
movb $0x79, 0x1c(%rsp)
leaq 0x44d9e(%rip), %rdi     # 0x4b910
leaq 0x1c(%rsp), %rsi
callq 0x11de0
movl $0x1, (%rax)
movb $0x32, 0x1b(%rsp)
leaq 0x44d82(%rip), %rdi     # 0x4b910
leaq 0x1b(%rsp), %rsi
callq 0x11de0
movl $0x1, (%rax)
movb $0x61, 0x1a(%rsp)
leaq 0x44d66(%rip), %rdi     # 0x4b910
leaq 0x1a(%rsp), %rsi
callq 0x11de0
movl $0x2, (%rax)
movb $0x67, 0x19(%rsp)
leaq 0x44d4a(%rip), %rdi     # 0x4b910
leaq 0x19(%rsp), %rsi
callq 0x11de0
movl $0x2, (%rax)
movb $0x68, 0x18(%rsp)
leaq 0x44d2e(%rip), %rdi     # 0x4b910
leaq 0x18(%rsp), %rsi
callq 0x11de0
movl $0x2, (%rax)
movb $0x69, 0x17(%rsp)
leaq 0x44d12(%rip), %rdi     # 0x4b910
leaq 0x17(%rsp), %rsi
callq 0x11de0
movl $0x2, (%rax)
movb $0x6a, 0x16(%rsp)
leaq 0x44cf6(%rip), %rdi     # 0x4b910
leaq 0x16(%rsp), %rsi
callq 0x11de0
movl $0x2, (%rax)
movb $0x34, 0x15(%rsp)
leaq 0x44cda(%rip), %rdi     # 0x4b910
leaq 0x15(%rsp), %rsi
callq 0x11de0
movl $0x2, (%rax)
movb $0x6c, 0x14(%rsp)
leaq 0x44cbe(%rip), %rdi     # 0x4b910
leaq 0x14(%rsp), %rsi
callq 0x11de0
movl $0x3, (%rax)
movb $0x6d, 0x13(%rsp)
leaq 0x44ca2(%rip), %rdi     # 0x4b910
leaq 0x13(%rsp), %rsi
callq 0x11de0
movl $0x3, (%rax)
movb $0x6e, 0x12(%rsp)
leaq 0x44c86(%rip), %rdi     # 0x4b910
leaq 0x12(%rsp), %rsi
callq 0x11de0
movl $0x3, (%rax)
movb $0x6f, 0x11(%rsp)
leaq 0x44c6a(%rip), %rdi     # 0x4b910
leaq 0x11(%rsp), %rsi
callq 0x11de0
movl $0x3, (%rax)
movb $0x20, 0x10(%rsp)
leaq 0x44c4e(%rip), %rdi     # 0x4b910
leaq 0x10(%rsp), %rsi
callq 0x11de0
movl $0x3, (%rax)
movb $0x35, 0xf(%rsp)
leaq 0x44c32(%rip), %rdi     # 0x4b910
leaq 0xf(%rsp), %rsi
callq 0x11de0
movl $0x3, (%rax)
movb $0x64, 0xe(%rsp)
leaq 0x44c16(%rip), %rdi     # 0x4b910
leaq 0xe(%rsp), %rsi
callq 0x11de0
movl $0x4, (%rax)
movb $0x71, 0xd(%rsp)
leaq 0x44bfa(%rip), %rdi     # 0x4b910
leaq 0xd(%rsp), %rsi
callq 0x11de0
movl $0x4, (%rax)
movb $0x72, 0xc(%rsp)
leaq 0x44bde(%rip), %rdi     # 0x4b910
leaq 0xc(%rsp), %rsi
callq 0x11de0
movl $0x4, (%rax)
movb $0x76, 0xb(%rsp)
leaq 0x44bc2(%rip), %rdi     # 0x4b910
leaq 0xb(%rsp), %rsi
callq 0x11de0
movl $0x4, (%rax)
movb $0x7a, 0xa(%rsp)
leaq 0x44ba6(%rip), %rdi     # 0x4b910
leaq 0xa(%rsp), %rsi
callq 0x11de0
movl $0x4, (%rax)
movb $0x31, 0x9(%rsp)
leaq 0x44b8a(%rip), %rdi     # 0x4b910
leaq 0x9(%rsp), %rsi
callq 0x11de0
movl $0x4, (%rax)
movb $0x6b, 0x8(%rsp)
leaq 0x44b6e(%rip), %rdi     # 0x4b910
leaq 0x8(%rsp), %rsi
callq 0x11de0
movl $0x5, (%rax)
movb $0x73, 0x7(%rsp)
leaq 0x44b52(%rip), %rdi     # 0x4b910
leaq 0x7(%rsp), %rsi
callq 0x11de0
movl $0x5, (%rax)
movb $0x74, 0x6(%rsp)
leaq 0x44b36(%rip), %rdi     # 0x4b910
leaq 0x6(%rsp), %rsi
callq 0x11de0
movl $0x5, (%rax)
movb $0x75, 0x5(%rsp)
leaq 0x44b1a(%rip), %rdi     # 0x4b910
leaq 0x5(%rsp), %rsi
callq 0x11de0
movl $0x5, (%rax)
movb $0x77, 0x4(%rsp)
leaq 0x44afe(%rip), %rdi     # 0x4b910
leaq 0x4(%rsp), %rsi
callq 0x11de0
movl $0x5, (%rax)
movb $0x78, 0x3(%rsp)
leaq 0x44ae2(%rip), %rdi     # 0x4b910
leaq 0x3(%rsp), %rsi
callq 0x11de0
movl $0x5, (%rax)
leaq 0x44acb(%rip), %rdi     # 0x4b910
leaq 0x27(%rsp), %rsi
callq 0x11ed0
movl (%rax), %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)