// File: tanakh[P]icfpc2015/main.cpp
// Function: output_solution(int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
void output_solution(int problem_id, int seed, int score, const string &moves, const string &tag)
{
  stringstream ss;
  ss << "out-full/" << problem_id << "-" << seed << "-" << score << ".json";
  ofstream ofs(ss.str().c_str());

  object o;
  o["problemId"] = value((int64_t)problem_id);
  o["seed"] = value((int64_t)seed);
  if (tag != "")
    o["tag"] = value(tag);
  o["solution"] = value(moves);

  ofs << "[" << endl;
  ofs << value(o) << endl;
  ofs << "]" << endl;
}

// Assembly:
subq $0x588, %rsp            # imm = 0x588
movl %edi, 0x584(%rsp)
movl %esi, 0x580(%rsp)
movl %edx, 0x57c(%rsp)
movq %rcx, 0x570(%rsp)
movq %r8, 0x568(%rsp)
leaq 0x3e0(%rsp), %rdi
callq 0x4280
leaq 0x3f0(%rsp), %rdi
leaq 0x2c81a(%rip), %rsi     # 0x365c2
callq 0x43c0
movq %rax, 0x88(%rsp)
jmp 0x9db7
movq 0x88(%rsp), %rdi
movl 0x584(%rsp), %esi
callq 0x4600
movq %rax, 0x80(%rsp)
jmp 0x9dd5
movq 0x80(%rsp), %rdi
leaq 0x2c7e8(%rip), %rsi     # 0x365cc
callq 0x43c0
movq %rax, 0x78(%rsp)
jmp 0x9df0
movq 0x78(%rsp), %rdi
movl 0x580(%rsp), %esi
callq 0x4600
movq %rax, 0x70(%rsp)
jmp 0x9e08
movq 0x70(%rsp), %rdi
leaq 0x2c7b8(%rip), %rsi     # 0x365cc
callq 0x43c0
movq %rax, 0x68(%rsp)
jmp 0x9e20
movq 0x68(%rsp), %rdi
movl 0x57c(%rsp), %esi
callq 0x4600
movq %rax, 0x60(%rsp)
jmp 0x9e38
movq 0x60(%rsp), %rdi
leaq 0x2c78a(%rip), %rsi     # 0x365ce
callq 0x43c0
jmp 0x9e4b
leaq 0x1b0(%rsp), %rdi
leaq 0x3e0(%rsp), %rsi
callq 0x43b0
jmp 0x9e62
leaq 0x1b0(%rsp), %rdi
callq 0x4130
movq %rax, %rsi
leaq 0x1d0(%rsp), %rdi
movl $0x10, %edx
callq 0x4440
jmp 0x9e86
leaq 0x1b0(%rsp), %rdi
callq 0x4700
leaq 0x180(%rsp), %rdi
callq 0x13570
movslq 0x584(%rsp), %rsi
leaq 0x170(%rsp), %rdi
callq 0x13580
jmp 0x9eb7
leaq 0x14f(%rsp), %rdi
movq %rdi, 0x58(%rsp)
callq 0x4630
movq 0x58(%rsp), %rdx
leaq 0x2c6ff(%rip), %rsi     # 0x365d4
leaq 0x150(%rsp), %rdi
callq 0x44f0
jmp 0x9ee4
leaq 0x180(%rsp), %rdi
leaq 0x150(%rsp), %rsi
callq 0x113b0
movq %rax, 0x50(%rsp)
jmp 0x9f00
movq 0x50(%rsp), %rdi
leaq 0x170(%rsp), %rsi
callq 0x135a0
jmp 0x9f14
leaq 0x150(%rsp), %rdi
callq 0x4700
leaq 0x14f(%rsp), %rdi
callq 0x4430
leaq 0x170(%rsp), %rdi
callq 0x11ce0
movslq 0x580(%rsp), %rsi
leaq 0x138(%rsp), %rdi
callq 0x13580
jmp 0x9f52
leaq 0x117(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0x4630
movq 0x48(%rsp), %rdx
leaq 0x2c66e(%rip), %rsi     # 0x365de
leaq 0x118(%rsp), %rdi
callq 0x44f0
jmp 0x9f7f
leaq 0x180(%rsp), %rdi
leaq 0x118(%rsp), %rsi
callq 0x113b0
movq %rax, 0x40(%rsp)
jmp 0x9f9b
movq 0x40(%rsp), %rdi
leaq 0x138(%rsp), %rsi
callq 0x135a0
jmp 0x9faf
leaq 0x118(%rsp), %rdi
callq 0x4700
leaq 0x117(%rsp), %rdi
callq 0x4430
leaq 0x138(%rsp), %rdi
callq 0x11ce0
movq 0x568(%rsp), %rdi
leaq 0x2c7b4(%rip), %rsi     # 0x36799
callq 0x13620
movb %al, 0x3f(%rsp)
jmp 0x9ff0
movb 0x3f(%rsp), %al
testb $0x1, %al
jne 0x9ffd
jmp 0xa1f7
movq 0x568(%rsp), %rsi
leaq 0x100(%rsp), %rdi
callq 0x13650
jmp 0xa014
leaq 0xdf(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0x4630
movq 0x30(%rsp), %rdx
leaq 0x2c5b1(%rip), %rsi     # 0x365e3
leaq 0xe0(%rsp), %rdi
callq 0x44f0
jmp 0xa041
leaq 0x180(%rsp), %rdi
leaq 0xe0(%rsp), %rsi
callq 0x113b0
movq %rax, 0x28(%rsp)
jmp 0xa05d
movq 0x28(%rsp), %rdi
leaq 0x100(%rsp), %rsi
callq 0x135a0
jmp 0xa071
leaq 0xe0(%rsp), %rdi
callq 0x4700
leaq 0xdf(%rsp), %rdi
callq 0x4430
leaq 0x100(%rsp), %rdi
callq 0x11ce0
jmp 0xa1f7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0xa3fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
leaq 0x1b0(%rsp), %rdi
callq 0x4700
jmp 0xa3fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0xa3e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0xa12c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
leaq 0x150(%rsp), %rdi
callq 0x4700
leaq 0x14f(%rsp), %rdi
callq 0x4430
leaq 0x170(%rsp), %rdi
callq 0x11ce0
jmp 0xa3e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0xa182
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
leaq 0x118(%rsp), %rdi
callq 0x4700
leaq 0x117(%rsp), %rdi
callq 0x4430
leaq 0x138(%rsp), %rdi
callq 0x11ce0
jmp 0xa3e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0xa1d8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
leaq 0xe0(%rsp), %rdi
callq 0x4700
leaq 0xdf(%rsp), %rdi
callq 0x4430
leaq 0x100(%rsp), %rdi
callq 0x11ce0
jmp 0xa3e2
movq 0x570(%rsp), %rsi
leaq 0xc8(%rsp), %rdi
callq 0x13650
jmp 0xa20e
leaq 0xa7(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x4630
movq 0x20(%rsp), %rdx
leaq 0x2c3bb(%rip), %rsi     # 0x365e7
leaq 0xa8(%rsp), %rdi
callq 0x44f0
jmp 0xa23b
leaq 0x180(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
callq 0x113b0
movq %rax, 0x18(%rsp)
jmp 0xa257
movq 0x18(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
callq 0x135a0
jmp 0xa26b
leaq 0xa8(%rsp), %rdi
callq 0x4700
leaq 0xa7(%rsp), %rdi
callq 0x4430
leaq 0xc8(%rsp), %rdi
callq 0x11ce0
leaq 0x2c174(%rip), %rsi     # 0x3640d
leaq 0x1d0(%rsp), %rdi
callq 0x43c0
movq %rax, 0x10(%rsp)
jmp 0xa2ad
movq 0x10(%rsp), %rdi
movq 0x3fcd7(%rip), %rsi     # 0x49f90
callq 0x4400
jmp 0xa2c0
leaq 0x90(%rsp), %rdi
leaq 0x180(%rsp), %rsi
callq 0x13710
jmp 0xa2d7
leaq 0x1d0(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0x136d0
movq %rax, 0x8(%rsp)
jmp 0xa2f3
movq 0x8(%rsp), %rdi
movq 0x3fc91(%rip), %rsi     # 0x49f90
callq 0x4400
jmp 0xa306
leaq 0x90(%rsp), %rdi
callq 0x11ce0
leaq 0x2c2d6(%rip), %rsi     # 0x365f0
leaq 0x1d0(%rsp), %rdi
callq 0x43c0
movq %rax, (%rsp)
jmp 0xa32d
movq (%rsp), %rdi
movq 0x3fc58(%rip), %rsi     # 0x49f90
callq 0x4400
jmp 0xa33f
leaq 0x180(%rsp), %rdi
callq 0x11b60
leaq 0x1d0(%rsp), %rdi
callq 0x4550
leaq 0x3e0(%rsp), %rdi
callq 0x42c0
addq $0x588, %rsp            # imm = 0x588
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0xa3a5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
leaq 0xa8(%rsp), %rdi
callq 0x4700
leaq 0xa7(%rsp), %rdi
callq 0x4430
leaq 0xc8(%rsp), %rdi
callq 0x11ce0
jmp 0xa3e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
leaq 0x90(%rsp), %rdi
callq 0x11ce0
leaq 0x180(%rsp), %rdi
callq 0x11b60
leaq 0x1d0(%rsp), %rdi
callq 0x4550
leaq 0x3e0(%rsp), %rdi
callq 0x42c0
movq 0x3d8(%rsp), %rdi
callq 0x4620
nopw %cs:(%rax,%rax)