user: 请将以下的汇编代码转换成C语言代码:

```asm
<main>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x5c0,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  movabs $0x464d494c56504147,%rax
  movabs $0x4b514e4354535759,%rdx
  mov    %rax,-0x90(%rbp)
  mov    %rdx,-0x88(%rbp)
  movl   $0x45445248,-0x80(%rbp)
  lea    D1165(%rip),%rax
  mov    %rax,-0x4c0(%rbp)
  lea    D1103(%rip),%rax
  mov    %rax,-0x4b8(%rbp)
  lea    D1326(%rip),%rax
  mov    %rax,-0x4b0(%rbp)
  lea    D803(%rip),%rax
  mov    %rax,-0x4a8(%rbp)
  lea    D254(%rip),%rax
  mov    %rax,-0x4a0(%rbp)
  lea    D1378(%rip),%rax
  mov    %rax,-0x498(%rbp)
  lea    D1300(%rip),%rax
  mov    %rax,-0x490(%rbp)
  lea    D349(%rip),%rax
  mov    %rax,-0x488(%rbp)
  lea    D134(%rip),%rax
  mov    %rax,-0x480(%rbp)
  lea    D618(%rip),%rax
  mov    %rax,-0x478(%rbp)
  lea    D1396(%rip),%rax
  mov    %rax,-0x470(%rbp)
  lea    D492(%rip),%rax
  mov    %rax,-0x468(%rbp)
  lea    D635(%rip),%rax
  mov    %rax,-0x460(%rbp)
  lea    D25(%rip),%rax
  mov    %rax,-0x458(%rbp)
  lea    D802(%rip),%rax
  mov    %rax,-0x450(%rbp)
  lea    D622(%rip),%rax
  mov    %rax,-0x448(%rbp)
  lea    D851(%rip),%rax
  mov    %rax,-0x440(%rbp)
  lea    D195(%rip),%rax
  mov    %rax,-0x438(%rbp)
  lea    D942(%rip),%rax
  mov    %rax,-0x430(%rbp)
  lea    D1112(%rip),%rax
  mov    %rax,-0x428(%rbp)
  movl   $0x0,-0x5c0(%rbp)
  movl   $0x0,-0x5b8(%rbp)
  movl   $0x0,-0x5b4(%rbp)
  movl   $0x0,-0x5b0(%rbp)
  movl   $0x0,-0x5ac(%rbp)
  movl   $0x0,-0x5a8(%rbp)
  movl   $0x0,-0x5a4(%rbp)
  movl   $0x0,-0x5a0(%rbp)
  movl   $0x0,-0x59c(%rbp)
  movl   $0x0,-0x598(%rbp)
  movl   $0x0,-0x594(%rbp)
  movl   $0x0,-0x590(%rbp)
  movl   $0x0,-0x588(%rbp)
  lea    -0x420(%rbp),%rax
  lea    D465(%rip),%rdx
  mov    $0x32,%ecx
  mov    %rax,%rdi
  mov    %rdx,%rsi
  rep movsq %ds:(%rsi),%es:(%rdi)
  lea    -0x290(%rbp),%rdx
  mov    $0x0,%eax
  mov    $0x3f,%ecx
  mov    %rdx,%rdi
  rep stos %rax,%es:(%rdi)
  lea    D1089(%rip),%rax
  mov    %rax,-0x290(%rbp)
  lea    D55(%rip),%rax
  mov    %rax,-0x288(%rbp)
  lea    D599(%rip),%rax
  mov    %rax,-0x280(%rbp)
  lea    D138(%rip),%rax
  mov    %rax,-0x278(%rbp)
  lea    D55(%rip),%rax
  mov    %rax,-0x270(%rbp)
  lea    D599(%rip),%rax
  mov    %rax,-0x268(%rbp)
  lea    D55(%rip),%rax
  mov    %rax,-0x260(%rbp)
  lea    D55(%rip),%rax
  mov    %rax,-0x258(%rbp)
  lea    D532(%rip),%rax
  mov    %rax,-0x250(%rbp)
  lea    D1420(%rip),%rax
  mov    %rax,-0x248(%rbp)
  lea    D55(%rip),%rax
  mov    %rax,-0x240(%rbp)
  lea    D599(%rip),%rax
  mov    %rax,-0x238(%rbp)
  lea    D1321(%rip),%rax
  mov    %rax,-0x230(%rbp)
  lea    D471(%rip),%rax
  mov    %rax,-0x228(%rbp)
  lea    D848(%rip),%rax
  mov    %rax,-0x220(%rbp)
  lea    D1297(%rip),%rax
  mov    %rax,-0x218(%rbp)
  lea    D1269(%rip),%rax
  mov    %rax,-0x210(%rbp)
  lea    D599(%rip),%rax
  mov    %rax,-0x208(%rbp)
  lea    D1089(%rip),%rax
  mov    %rax,-0x200(%rbp)
  lea    D55(%rip),%rax
  mov    %rax,-0x1f8(%rbp)
  lea    D599(%rip),%rax
  mov    %rax,-0x1f0(%rbp)
  lea    D843(%rip),%rax
  mov    %rax,-0x1e8(%rbp)
  lea    D471(%rip),%rax
  mov    %rax,-0x1e0(%rbp)
  lea    D848(%rip),%rax
  mov    %rax,-0x1d8(%rbp)
  lea    D40(%rip),%rax
  mov    %rax,-0x1d0(%rbp)
  lea    D470(%rip),%rax
  mov    %rax,-0x1c8(%rbp)
  lea    D848(%rip),%rax
  mov    %rax,-0x1c0(%rbp)
  lea    D40(%rip),%rax
  mov    %rax,-0x1b8(%rbp)
  lea    D471(%rip),%rax
  mov    %rax,-0x1b0(%rbp)
  lea    D848(%rip),%rax
  mov    %rax,-0x1a8(%rbp)
  lea    D853(%rip),%rax
  mov    %rax,-0x1a0(%rbp)
  lea    D55(%rip),%rax
  mov    %rax,-0x198(%rbp)
  lea    D599(%rip),%rax
  mov    %rax,-0x190(%rbp)
  lea    D819(%rip),%rax
  mov    %rax,-0x188(%rbp)
  lea    D55(%rip),%rax
  mov    %rax,-0x180(%rbp)
  lea    D599(%rip),%rax
  mov    %rax,-0x178(%rbp)
  lea    D1079(%rip),%rax
  mov    %rax,-0x170(%rbp)
  lea    D55(%rip),%rax
  mov    %rax,-0x168(%rbp)
  lea    D599(%rip),%rax
  mov    %rax,-0x160(%rbp)
  lea    D1041(%rip),%rax
  mov    %rax,-0x158(%rbp)
  lea    D471(%rip),%rax
  mov    %rax,-0x150(%rbp)
  lea    D599(%rip),%rax
  mov    %rax,-0x148(%rbp)
  lea    D984(%rip),%rax
  mov    %rax,-0x140(%rbp)
  lea    D470(%rip),%rax
  mov    %rax,-0x138(%rbp)
  lea    D599(%rip),%rax
  mov    %rax,-0x130(%rbp)
  lea    D1181(%rip),%rax
  mov    %rax,-0x128(%rbp)
  lea    D471(%rip),%rax
  mov    %rax,-0x120(%rbp)
  lea    D848(%rip),%rax
  mov    %rax,-0x118(%rbp)
  lea    D1306(%rip),%rax
  mov    %rax,-0x110(%rbp)
  lea    D470(%rip),%rax
  mov    %rax,-0x108(%rbp)
  lea    D599(%rip),%rax
  mov    %rax,-0x100(%rbp)
  lea    D867(%rip),%rax
  mov    %rax,-0xf8(%rbp)
  lea    D848(%rip),%rax
  mov    %rax,-0xf0(%rbp)
  lea    D848(%rip),%rax
  mov    %rax,-0xe8(%rbp)
  lea    D843(%rip),%rax
  mov    %rax,-0xe0(%rbp)
  lea    D471(%rip),%rax
  mov    %rax,-0xd8(%rbp)
  lea    D599(%rip),%rax
  mov    %rax,-0xd0(%rbp)
  lea    D867(%rip),%rax
  mov    %rax,-0xc8(%rbp)
  lea    D1269(%rip),%rax
  mov    %rax,-0xc0(%rbp)
  lea    D599(%rip),%rax
  mov    %rax,-0xb8(%rbp)
  lea    D810(%rip),%rax
  mov    %rax,-0xb0(%rbp)
  movss  D769(%rip),%xmm0
  movss  %xmm0,-0x584(%rbp)
  movss  D1285(%rip),%xmm0
  movss  %xmm0,-0x580(%rbp)
  movss  D1005(%rip),%xmm0
  movss  %xmm0,-0x510(%rbp)
  movss  D757(%rip),%xmm0
  movss  %xmm0,-0x50c(%rbp)
  movss  D244(%rip),%xmm0
  movss  %xmm0,-0x508(%rbp)
  movss  D1450(%rip),%xmm0
  movss  %xmm0,-0x504(%rbp)
  movss  D660(%rip),%xmm0
  movss  %xmm0,-0x500(%rbp)
  movss  D545(%rip),%xmm0
  movss  %xmm0,-0x4fc(%rbp)
  movss  D225(%rip),%xmm0
  movss  %xmm0,-0x4f8(%rbp)
  movss  D1278(%rip),%xmm0
  movss  %xmm0,-0x4f4(%rbp)
  movss  D1084(%rip),%xmm0
  movss  %xmm0,-0x4f0(%rbp)
  movss  D560(%rip),%xmm0
  movss  %xmm0,-0x4ec(%rbp)
  movss  D691(%rip),%xmm0
  movss  %xmm0,-0x4e8(%rbp)
  movss  D206(%rip),%xmm0
  movss  %xmm0,-0x4e4(%rbp)
  movss  D83(%rip),%xmm0
  movss  %xmm0,-0x4e0(%rbp)
  movss  D750(%rip),%xmm0
  movss  %xmm0,-0x4dc(%rbp)
  movss  D750(%rip),%xmm0
  movss  %xmm0,-0x4d8(%rbp)
  movss  D23(%rip),%xmm0
  movss  %xmm0,-0x4d4(%rbp)
  movss  D376(%rip),%xmm0
  movss  %xmm0,-0x4d0(%rbp)
  movss  D136(%rip),%xmm0
  movss  %xmm0,-0x4cc(%rbp)
  movss  D750(%rip),%xmm0
  movss  %xmm0,-0x4c8(%rbp)
  movss  D750(%rip),%xmm0
  movss  %xmm0,-0x4c4(%rbp)
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x58c(%rbp)
  movl   $0x0,-0x5bc(%rbp)
  jmp    L828
L56:
  mov    -0x5bc(%rbp),%eax
  cltq
  movl   $0x0,-0x560(%rbp,%rax,4)
  addl   $0x1,-0x5bc(%rbp)
L828:
  cmpl   $0x13,-0x5bc(%rbp)
  jle    L56
  lea    D590(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  movl   $0x0,-0x5bc(%rbp)
  jmp    L576
L111:
  lea    -0x70(%rbp),%rdx
  mov    -0x5bc(%rbp),%eax
  cltq
  add    %rdx,%rax
  mov    %rax,%rsi
  lea    D444(%rip),%rax
  mov    %rax,%rdi
  call   <scanf@plt>
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0xa,%al
  je     L435
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x47,%al
  je     L769
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x41,%al
  je     L769
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x50,%al
  je     L769
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x56,%al
  je     L769
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x4c,%al
  je     L769
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x49,%al
  je     L769
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x4d,%al
  je     L769
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x46,%al
  je     L769
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x59,%al
  je     L769
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x57,%al
  je     L769
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x53,%al
  je     L769
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x54,%al
  je     L769
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x43,%al
  je     L769
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x4e,%al
  je     L769
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x51,%al
  je     L769
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x4b,%al
  je     L769
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x48,%al
  je     L769
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x52,%al
  je     L769
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x44,%al
  je     L769
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x45,%al
  jne    L885
L769:
  addl   $0x1,-0x5c0(%rbp)
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x47,%al
  jne    L153
  mov    -0x560(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,-0x560(%rbp)
L153:
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x41,%al
  jne    L663
  mov    -0x55c(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,-0x55c(%rbp)
L663:
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x50,%al
  jne    L859
  mov    -0x558(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,-0x558(%rbp)
L859:
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x56,%al
  jne    L225
  mov    -0x554(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,-0x554(%rbp)
L225:
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x4c,%al
  jne    L186
  mov    -0x550(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,-0x550(%rbp)
L186:
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x49,%al
  jne    L318
  mov    -0x54c(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,-0x54c(%rbp)
L318:
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x4d,%al
  jne    L243
  mov    -0x548(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,-0x548(%rbp)
L243:
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x46,%al
  jne    L775
  mov    -0x544(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,-0x544(%rbp)
L775:
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x59,%al
  jne    L425
  mov    -0x540(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,-0x540(%rbp)
L425:
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x57,%al
  jne    L667
  mov    -0x53c(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,-0x53c(%rbp)
L667:
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x53,%al
  jne    L201
  mov    -0x538(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,-0x538(%rbp)
L201:
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x54,%al
  jne    L605
  mov    -0x534(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,-0x534(%rbp)
L605:
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x43,%al
  jne    L306
  mov    -0x530(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,-0x530(%rbp)
L306:
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x4e,%al
  jne    L807
  mov    -0x52c(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,-0x52c(%rbp)
L807:
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x51,%al
  jne    L754
  mov    -0x528(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,-0x528(%rbp)
L754:
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x4b,%al
  jne    L757
  mov    -0x524(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,-0x524(%rbp)
L757:
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x48,%al
  jne    L685
  mov    -0x520(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,-0x520(%rbp)
L685:
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x52,%al
  jne    L31
  mov    -0x51c(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,-0x51c(%rbp)
L31:
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x44,%al
  jne    L346
  mov    -0x518(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,-0x518(%rbp)
L346:
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x45,%al
  jne    L294
  mov    -0x514(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,-0x514(%rbp)
L294:
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x4b,%al
  je     L293
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x48,%al
  je     L293
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x52,%al
  jne    L841
L293:
  addl   $0x1,-0x5b4(%rbp)
L841:
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x44,%al
  je     L157
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x45,%al
  jne    L81
L157:
  addl   $0x1,-0x5b0(%rbp)
L81:
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x53,%al
  je     L94
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x54,%al
  je     L94
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x43,%al
  je     L94
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x4e,%al
  je     L94
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x51,%al
  jne    L890
L94:
  addl   $0x1,-0x5ac(%rbp)
L890:
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x47,%al
  je     L174
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x41,%al
  je     L174
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x50,%al
  je     L174
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x56,%al
  je     L174
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x4c,%al
  je     L174
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x49,%al
  je     L174
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x4d,%al
  jne    L587
L174:
  addl   $0x1,-0x5a8(%rbp)
L587:
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x46,%al
  je     L410
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x59,%al
  je     L410
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x70(%rbp,%rax,1),%eax
  cmp    $0x57,%al
  jne    L885
L410:
  addl   $0x1,-0x5a4(%rbp)
L885:
  addl   $0x1,-0x5bc(%rbp)
L576:
  cmpl   $0x59,-0x5bc(%rbp)
  jle    L111
  jmp    L213
L435:
  nop
L213:
  mov    $0xa,%edi
  call   <putchar@plt>
  mov    -0x5c0(%rbp),%eax
  mov    %eax,%esi
  lea    D841(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    -0x5b4(%rbp),%eax
  mov    %eax,%esi
  lea    D1268(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    -0x5b0(%rbp),%eax
  mov    %eax,%esi
  lea    D1044(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    -0x5ac(%rbp),%eax
  mov    %eax,%esi
  lea    D782(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    -0x5a8(%rbp),%eax
  mov    %eax,%esi
  lea    D144(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    -0x5a4(%rbp),%eax
  mov    %eax,%esi
  lea    D1287(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D1033(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  movl   $0x0,-0x5bc(%rbp)
  jmp    L268
L495:
  mov    -0x5bc(%rbp),%eax
  cltq
  mov    -0x560(%rbp,%rax,4),%eax
  pxor   %xmm0,%xmm0
  cvtsi2ss %eax,%xmm0
  pxor   %xmm1,%xmm1
  cvtss2sd %xmm0,%xmm1
  movsd  D630(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2ssl -0x5c0(%rbp),%xmm1
  cvtss2sd %xmm1,%xmm1
  divsd  %xmm1,%xmm0
  movq   %xmm0,%rcx
  mov    -0x5bc(%rbp),%eax
  cltq
  mov    -0x560(%rbp,%rax,4),%edx
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x90(%rbp,%rax,1),%eax
  movsbl %al,%eax
  movq   %rcx,%xmm0
  mov    %eax,%esi
  lea    D830(%rip),%rax
  mov    %rax,%rdi
  mov    $0x1,%eax
  call   <printf@plt>
  addl   $0x1,-0x5bc(%rbp)
L268:
  cmpl   $0x13,-0x5bc(%rbp)
  jle    L495
  movl   $0x0,-0x5bc(%rbp)
  jmp    L250
L637:
  mov    -0x5bc(%rbp),%eax
  cltq
  mov    -0x560(%rbp,%rax,4),%eax
  test   %eax,%eax
  jle    L166
  movl   $0x0,-0x5b8(%rbp)
  jmp    L740
L682:
  mov    -0x5bc(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x2,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  add    %rbp,%rax
  sub    $0x420,%rax
  mov    (%rax),%eax
  add    %eax,-0x5a0(%rbp)
  mov    -0x5bc(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x2,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  add    %rbp,%rax
  sub    $0x41c,%rax
  mov    (%rax),%eax
  add    %eax,-0x59c(%rbp)
  mov    -0x5bc(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x2,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  add    %rbp,%rax
  sub    $0x418,%rax
  mov    (%rax),%eax
  add    %eax,-0x598(%rbp)
  mov    -0x5bc(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x2,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  add    %rbp,%rax
  sub    $0x414,%rax
  mov    (%rax),%eax
  add    %eax,-0x594(%rbp)
  mov    -0x5bc(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x2,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  add    %rbp,%rax
  sub    $0x410,%rax
  mov    (%rax),%eax
  add    %eax,-0x590(%rbp)
  addl   $0x1,-0x5b8(%rbp)
L740:
  mov    -0x5bc(%rbp),%eax
  cltq
  mov    -0x560(%rbp,%rax,4),%eax
  cmp    %eax,-0x5b8(%rbp)
  jl     L682
L166:
  addl   $0x1,-0x5bc(%rbp)
L250:
  cmpl   $0x13,-0x5bc(%rbp)
  jle    L637
  mov    -0x5c0(%rbp),%eax
  sub    $0x1,%eax
  add    %eax,%eax
  sub    %eax,-0x59c(%rbp)
  mov    -0x5c0(%rbp),%eax
  sub    $0x1,%eax
  sub    %eax,-0x594(%rbp)
  lea    D1085(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  mov    -0x5a0(%rbp),%eax
  mov    %eax,%esi
  lea    D1446(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    -0x59c(%rbp),%eax
  mov    %eax,%esi
  lea    D462(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    -0x598(%rbp),%eax
  mov    %eax,%esi
  lea    D993(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    -0x594(%rbp),%eax
  mov    %eax,%esi
  lea    D833(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    -0x590(%rbp),%eax
  mov    %eax,%esi
  lea    D1354(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D385(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  cmpl   $0x0,-0x5a0(%rbp)
  jle    L572
  mov    -0x5a0(%rbp),%eax
  mov    %eax,%esi
  lea    D1148(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
L572:
  cmpl   $0x0,-0x59c(%rbp)
  jle    L455
  mov    -0x59c(%rbp),%eax
  mov    %eax,%esi
  lea    D486(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
L455:
  cmpl   $0x0,-0x598(%rbp)
  jle    L363
  mov    -0x598(%rbp),%eax
  mov    %eax,%esi
  lea    D820(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
L363:
  cmpl   $0x0,-0x594(%rbp)
  jle    L636
  mov    -0x594(%rbp),%eax
  mov    %eax,%esi
  lea    D729(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
L636:
  cmpl   $0x0,-0x590(%rbp)
  jle    L13
  mov    -0x590(%rbp),%eax
  mov    %eax,%esi
  lea    D1077(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
L13:
  mov    $0xa,%edi
  call   <putchar@plt>
  mov    -0x5a0(%rbp),%edx
  mov    -0x59c(%rbp),%eax
  add    %eax,%edx
  mov    -0x598(%rbp),%eax
  add    %eax,%edx
  mov    -0x594(%rbp),%eax
  add    %eax,%edx
  mov    -0x590(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x588(%rbp)
  mov    -0x588(%rbp),%eax
  mov    %eax,%esi
  lea    D1461(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  pxor   %xmm1,%xmm1
  cvtsi2sdl -0x5a0(%rbp),%xmm1
  movsd  D74(%rip),%xmm0
  mulsd  %xmm0,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sdl -0x59c(%rbp),%xmm2
  movsd  D1106(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm0,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sdl -0x598(%rbp),%xmm2
  movsd  D166(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm0,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sdl -0x594(%rbp),%xmm2
  movsd  D789(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm0,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sdl -0x590(%rbp),%xmm2
  movsd  D1163(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,-0x57c(%rbp)
  pxor   %xmm3,%xmm3
  cvtss2sd -0x57c(%rbp),%xmm3
  movq   %xmm3,%rax
  movq   %rax,%xmm0
  lea    D855(%rip),%rax
  mov    %rax,%rdi
  mov    $0x1,%eax
  call   <printf@plt>
  lea    D1447(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  mov    -0x540(%rbp),%eax
  imul   $0x5d2,%eax,%edx
  mov    -0x53c(%rbp),%eax
  imul   $0x157c,%eax,%eax
  add    %eax,%edx
  mov    -0x530(%rbp),%eax
  mov    %eax,%ecx
  shr    $0x1f,%ecx
  add    %ecx,%eax
  sar    %eax
  imul   $0x7d,%eax,%eax
  add    %edx,%eax
  mov    %eax,-0x578(%rbp)
  mov    -0x540(%rbp),%eax
  imul   $0x5d2,%eax,%edx
  mov    -0x53c(%rbp),%eax
  imul   $0x157c,%eax,%eax
  add    %edx,%eax
  mov    %eax,-0x574(%rbp)
  cmpl   $0x0,-0x578(%rbp)
  jne    L441
  cmpl   $0x0,-0x574(%rbp)
  je     L755
L441:
  mov    -0x574(%rbp),%edx
  mov    -0x578(%rbp),%eax
  mov    %eax,%esi
  lea    D963(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L51
L755:
  lea    D607(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
L51:
  lea    D507(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    -0x55c(%rbp),%eax
  pxor   %xmm1,%xmm1
  cvtsi2ss %eax,%xmm1
  mov    -0x554(%rbp),%eax
  pxor   %xmm0,%xmm0
  cvtsi2ss %eax,%xmm0
  mulss  -0x584(%rbp),%xmm0
  addss  %xmm0,%xmm1
  mov    -0x54c(%rbp),%edx
  mov    -0x550(%rbp),%eax
  add    %edx,%eax
  pxor   %xmm0,%xmm0
  cvtsi2ss %eax,%xmm0
  mulss  -0x580(%rbp),%xmm0
  addss  %xmm0,%xmm1
  movss  D496(%rip),%xmm0
  mulss  %xmm1,%xmm0
  movss  %xmm0,-0x570(%rbp)
  pxor   %xmm4,%xmm4
  cvtss2sd -0x570(%rbp),%xmm4
  movq   %xmm4,%rax
  movq   %rax,%xmm0
  lea    D726(%rip),%rax
  mov    %rax,%rdi
  mov    $0x1,%eax
  call   <printf@plt>
  lea    D1260(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  movl   $0x0,-0x5bc(%rbp)
  jmp    L714
L59:
  mov    -0x5bc(%rbp),%eax
  cltq
  mov    -0x560(%rbp,%rax,4),%eax
  pxor   %xmm1,%xmm1
  cvtsi2ss %eax,%xmm1
  mov    -0x5bc(%rbp),%eax
  cltq
  movss  -0x510(%rbp,%rax,4),%xmm0
  mulss  %xmm1,%xmm0
  movss  -0x58c(%rbp),%xmm1
  addss  %xmm1,%xmm0
  movss  %xmm0,-0x58c(%rbp)
  addl   $0x1,-0x5bc(%rbp)
L714:
  cmpl   $0x13,-0x5bc(%rbp)
  jle    L59
  pxor   %xmm1,%xmm1
  cvtsi2ssl -0x5c0(%rbp),%xmm1
  movss  -0x58c(%rbp),%xmm0
  divss  %xmm1,%xmm0
  movss  %xmm0,-0x56c(%rbp)
  pxor   %xmm5,%xmm5
  cvtss2sd -0x56c(%rbp),%xmm5
  movq   %xmm5,%rax
  movq   %rax,%xmm0
  lea    D726(%rip),%rax
  mov    %rax,%rdi
  mov    $0x1,%eax
  call   <printf@plt>
  movzbl -0x70(%rbp),%eax
  movsbl %al,%eax
  mov    %eax,%esi
  lea    D388(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  movl   $0x0,-0x5bc(%rbp)
  jmp    L165
L103:
  movzbl -0x70(%rbp),%edx
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x90(%rbp,%rax,1),%eax
  cmp    %al,%dl
  jne    L882
  mov    -0x5bc(%rbp),%eax
  cltq
  mov    -0x4c0(%rbp,%rax,8),%rax
  mov    %rax,%rsi
  lea    D898(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
L882:
  addl   $0x1,-0x5bc(%rbp)
L165:
  cmpl   $0x13,-0x5bc(%rbp)
  jle    L103
  lea    D1170(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  movl   $0x0,-0x5bc(%rbp)
  jmp    L23
L25:
  movzbl -0x70(%rbp),%edx
  mov    -0x5bc(%rbp),%eax
  cltq
  movzbl -0x90(%rbp,%rax,1),%eax
  cmp    %al,%dl
  jne    L32
  mov    -0x5bc(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  add    %rbp,%rax
  sub    $0x280,%rax
  mov    (%rax),%rcx
  mov    -0x5bc(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  add    %rbp,%rax
  sub    $0x288,%rax
  mov    (%rax),%rdx
  mov    -0x5bc(%rbp),%eax
  movslq %eax,%rsi
  mov    %rsi,%rax
  add    %rax,%rax
  add    %rsi,%rax
  shl    $0x3,%rax
  add    %rbp,%rax
  sub    $0x290,%rax
  mov    (%rax),%rax
  mov    %rax,%rsi
  lea    D649(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L574
L32:
  addl   $0x1,-0x5bc(%rbp)
L23:
  cmpl   $0x13,-0x5bc(%rbp)
  jle    L25
L574:
  pxor   %xmm0,%xmm0
  cvtsi2ssl -0x578(%rbp),%xmm0
  divss  -0x57c(%rbp),%xmm0
  movss  %xmm0,-0x568(%rbp)
  pxor   %xmm0,%xmm0
  cvtsi2ssl -0x574(%rbp),%xmm0
  divss  -0x57c(%rbp),%xmm0
  movss  %xmm0,-0x564(%rbp)
  movss  -0x564(%rbp),%xmm0
  cvtss2sd %xmm0,%xmm0
  movss  -0x568(%rbp),%xmm1
  pxor   %xmm6,%xmm6
  cvtss2sd %xmm1,%xmm6
  movq   %xmm6,%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  lea    D901(%rip),%rax
  mov    %rax,%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  mov    $0x0,%eax
  mov    -0x8(%rbp),%rdx
  sub    %fs:0x28,%rdx
  je     L608
  call   <__stack_chk_fail@plt>
L608:
  leave
  ret
```

tool_calls: name: read_data
arguments: tag: D1165
data_type: string
name: read_data
arguments: tag: D1103
data_type: string
name: read_data
arguments: tag: D1326
data_type: string
name: read_data
arguments: tag: D803
data_type: string
name: read_data
arguments: tag: D254
data_type: string
name: read_data
arguments: tag: D1378
data_type: string
name: read_data
arguments: tag: D1300
data_type: string
name: read_data
arguments: tag: D349
data_type: string
name: read_data
arguments: tag: D134
data_type: string
name: read_data
arguments: tag: D618
data_type: string
name: read_data
arguments: tag: D1396
data_type: string
name: read_data
arguments: tag: D492
data_type: string
name: read_data
arguments: tag: D635
data_type: string
name: read_data
arguments: tag: D25
data_type: string
name: read_data
arguments: tag: D802
data_type: string
name: read_data
arguments: tag: D622
data_type: string
name: read_data
arguments: tag: D851
data_type: string
name: read_data
arguments: tag: D195
data_type: string
name: read_data
arguments: tag: D942
data_type: string
name: read_data
arguments: tag: D1112
data_type: string
name: read_data
arguments: tag: D465
data_type: string
name: read_data
arguments: tag: D1089
data_type: string
name: read_data
arguments: tag: D55
data_type: string
name: read_data
arguments: tag: D599
data_type: string
name: read_data
arguments: tag: D138
data_type: string
name: read_data
arguments: tag: D532
data_type: string
name: read_data
arguments: tag: D1420
data_type: string
name: read_data
arguments: tag: D1321
data_type: string
name: read_data
arguments: tag: D471
data_type: string
name: read_data
arguments: tag: D848
data_type: string
name: read_data
arguments: tag: D1297
data_type: string
name: read_data
arguments: tag: D1269
data_type: string
name: read_data
arguments: tag: D843
data_type: string
name: read_data
arguments: tag: D40
data_type: string
name: read_data
arguments: tag: D470
data_type: string
name: read_data
arguments: tag: D853
data_type: string
name: read_data
arguments: tag: D819
data_type: string
name: read_data
arguments: tag: D1079
data_type: string
name: read_data
arguments: tag: D1041
data_type: string
name: read_data
arguments: tag: D984
data_type: string
name: read_data
arguments: tag: D1181
data_type: string
name: read_data
arguments: tag: D1306
data_type: string
name: read_data
arguments: tag: D867
data_type: string
name: read_data
arguments: tag: D810
data_type: string
name: read_data
arguments: tag: D769
data_type: f32
name: read_data
arguments: tag: D1285
data_type: f32
name: read_data
arguments: tag: D1005
data_type: byte[4]
name: read_data
arguments: tag: D757
data_type: f32
name: read_data
arguments: tag: D244
data_type: byte[4]
name: read_data
arguments: tag: D1450
data_type: f32
name: read_data
arguments: tag: D660
data_type: f32
name: read_data
arguments: tag: D545
data_type: f32
name: read_data
arguments: tag: D225
data_type: f32
name: read_data
arguments: tag: D1278
data_type: f32
name: read_data
arguments: tag: D1084
data_type: byte[4]
name: read_data
arguments: tag: D560
data_type: byte[4]
name: read_data
arguments: tag: D691
data_type: byte[4]
name: read_data
arguments: tag: D206
data_type: byte[4]
name: read_data
arguments: tag: D83
data_type: f32
name: read_data
arguments: tag: D750
data_type: byte[4]
name: read_data
arguments: tag: D23
data_type: byte[4]
name: read_data
arguments: tag: D376
data_type: byte[4]
name: read_data
arguments: tag: D136
data_type: byte[4]
name: read_data
arguments: tag: D590
data_type: string
name: read_data
arguments: tag: D444
data_type: string
name: read_data
arguments: tag: D841
data_type: string
name: read_data
arguments: tag: D1268
data_type: string
name: read_data
arguments: tag: D1044
data_type: string
name: read_data
arguments: tag: D782
data_type: string
name: read_data
arguments: tag: D144
data_type: string
name: read_data
arguments: tag: D1287
data_type: string
name: read_data
arguments: tag: D1033
data_type: string
name: read_data
arguments: tag: D630
data_type: f64
name: read_data
arguments: tag: D830
data_type: string
name: read_data
arguments: tag: D1085
data_type: string
name: read_data
arguments: tag: D1446
data_type: string
name: read_data
arguments: tag: D462
data_type: string
name: read_data
arguments: tag: D993
data_type: string
name: read_data
arguments: tag: D833
data_type: string
name: read_data
arguments: tag: D1354
data_type: string
name: read_data
arguments: tag: D385
data_type: string
name: read_data
arguments: tag: D1148
data_type: string
name: read_data
arguments: tag: D486
data_type: string
name: read_data
arguments: tag: D820
data_type: string
name: read_data
arguments: tag: D729
data_type: string
name: read_data
arguments: tag: D1077
data_type: string
name: read_data
arguments: tag: D1461
data_type: string
name: read_data
arguments: tag: D74
data_type: f64
name: read_data
arguments: tag: D1106
data_type: f64
name: read_data
arguments: tag: D166
data_type: f64
name: read_data
arguments: tag: D789
data_type: f64
name: read_data
arguments: tag: D1163
data_type: f64
name: read_data
arguments: tag: D855
data_type: string
name: read_data
arguments: tag: D1447
data_type: string
name: read_data
arguments: tag: D963
data_type: string
name: read_data
arguments: tag: D607
data_type: string
name: read_data
arguments: tag: D507
data_type: string
name: read_data
arguments: tag: D496
data_type: byte[4]
name: read_data
arguments: tag: D726
data_type: string
name: read_data
arguments: tag: D1260
data_type: string
name: read_data
arguments: tag: D388
data_type: string
name: read_data
arguments: tag: D898
data_type: string
name: read_data
arguments: tag: D1170
data_type: string
name: read_data
arguments: tag: D649
data_type: string
name: read_data
arguments: tag: D901
data_type: string

tool: D1165: Gly

tool: D1103: Ala

tool: D1326: Pro

tool: D803: Val

tool: D254: Leu

tool: D1378: Ile

tool: D1300: Met

tool: D349: Phe

tool: D134: Tyr

tool: D618: Trp

tool: D1396: Ser

tool: D492: Thr

tool: D635: Cys

tool: D25: Asn

tool: D802: Gln

tool: D622: Lys

tool: D851: His

tool: D195: Arg

tool: D942: Asp

tool: D1112: Glu

tool: D465: 

tool: D1089: 30 hour

tool: D55: >20 hour

tool: D599: >10 hour

tool: D138: 4.4 hour

tool: D532: ?

tool: D1420: 100 hour

tool: D1321: 5.5 hour

tool: D471: 3 min

tool: D848: 2 min

tool: D1297: 20 hour

tool: D1269: 30 min

tool: D843: 1.1 hour

tool: D40: 2.8 hour

tool: D470: 10 min

tool: D853: 1.9 hour

tool: D819: 7.2 hour

tool: D1079: 1.2 hour

tool: D1041: 1.4 hour

tool: D984: 0.8 hour

tool: D1181: 1.3 hour

tool: D1306: 3.5 hour

tool: D867: 1 hour

tool: 

tool: D769: 2.9

tool: D1285: 3.9

tool: {"D1005": [0xcd,0xcc,0xcc,0xbe]}

tool: D757: 1.8

tool: {"D244": [0xcd,0xcc,0xcc,0xbf]}

tool: D1450: 4.2

tool: D660: 3.8

tool: D545: 4.5

tool: D225: 1.9

tool: D1278: 2.8

tool: {"D1084": [0x66,0x66,0xa6,0xbf]}

tool: {"D560": [0x66,0x66,0x66,0xbf]}

tool: {"D691": [0xcd,0xcc,0x4c,0xbf]}

tool: {"D206": [0x33,0x33,0x33,0xbf]}

tool: D83: 2.5

tool: {"D750": [0x00,0x00,0x60,0xc0]}

tool: {"D23": [0x9a,0x99,0x79,0xc0]}

tool: {"D376": [0xcd,0xcc,0x4c,0xc0]}

tool: {"D136": [0x00,0x00,0x90,0xc0]}

tool: D590: Enter the sequence 

tool: D444: %c

tool: D841: No of Amino Acids: %d 


tool: D1268: No of positive Amino Acids: %d 


tool: D1044: No of negative Amino Acids: %d 


tool: D782: No of polar Amino Acids: %d 


tool: D144: No of nonpolar Amino Acids: %d 


tool: D1287: No of aromatic Amino Acids: %d 


tool: D1033: Amino acid composition




tool: D630: 100

tool: D830: %c 	 %d   %f 


tool: D1085: 

Atomic Composition

tool: D1446: Carbon     C	 %d


tool: D462: Hydrogen   H	 %d


tool: D993: Nitrogen   N	 %d


tool: D833: Oxygen     O	 %d


tool: D1354: Sulfer     S	 %d


tool: D385: 
Formula:

tool: D1148: C%d 

tool: D486: H%d 

tool: D820: N%d 

tool: D729: O%d 

tool: D1077: S%d 

tool: D1461: Total number of atoms:  %d


tool: D74: 12.001

tool: D1106: 1.00794

tool: D166: 14.00674

tool: D789: 15.9994

tool: D1163: 32.066

tool: D855: Molecular weight %f



tool: D1447: Extinction Coefficient

tool: D963: %d 
%d


tool: D607: As there are no Trp, Tyr or Cys in the region considered, your proteinshould not be visible by UV spectrophotometry.

tool: D507: Aliphatic Index 

tool: {"D496": [0x00,0x00,0x20,0x41]}

tool: D726: %f 


tool: D1260: 
Grand average of hydropathicity (GRAVY) 

tool: D388: The N-terminal of the sequence considered is %c 

tool: D898: (%s)


tool: D1170: Estimated Half life

tool: D649: Mammalian	%s
Yeast	%s
E. coli	%s


tool: D901: 
Absorbance 1 %f
Absorbance 2 %f


assistant: ```c
int main() {
  int aacidCounter[20];
  char aacid[20] = {'G', 'A', 'P', 'V', 'L', 'I', 'M', 'F', 'Y', 'W', 'S', 'T', 'C', 'N', 'Q', 'K', 'H', 'R', 'D', 'E'};
  char *aacidName[] = {"Gly", "Ala", "Pro", "Val", "Leu", "Ile", "Met", "Phe", "Tyr", "Trp", "Ser", "Thr", "Cys", "Asn", "Gln", "Lys", "His", "Arg", "Asp", "Glu"};
  int aacidCounterTotal = 0;
  char seq[90];
  int i;
  int j = 0;
  int positiveCounter = 0;
  int negativeCounter = 0;
  int polarCounter = 0;
  int nonpolarCounter = 0;
  int aromaticCounter = 0;
  int carbonCounter = 0;
  int hydrogenCounter = 0;
  int nitrogenCounter = 0;
  int oxygenCounter = 0;
  int sulferCounter = 0;
  int totalAtoms = 0;
  int atomicComposition[20][5] = {2, 5, 1, 2, 0, 3, 7, 1, 2, 0, 5, 9, 1, 2, 0, 5, 11, 1, 2, 0, 6, 13, 1, 2, 0, 6, 13, 1, 2, 0, 5, 11, 1, 2, 1, 9, 11, 1, 2, 0, 9, 11, 1, 3, 0, 11, 12, 2, 2, 0, 3, 7, 1, 3, 0, 4, 9, 1, 3, 0, 3, 7, 1, 2, 1, 4, 8, 2, 3, 0, 5, 10, 2, 3, 0, 6, 14, 2, 2, 0, 6, 9, 3, 2, 0, 6, 14, 4, 2, 0, 4, 7, 1, 4, 0, 5, 9, 1, 4, 0};
  char *halfLife[][3] = {"30 hour",
                         ">20 hour",
                         ">10 hour",
                         "4.4 hour",
                         ">20 hour",
                         ">10 hour",
                         ">20 hour",
                         ">20 hour",
                         "?",
                         "100 hour",
                         ">20 hour",
                         ">10 hour",
                         "5.5 hour",
                         "3 min",
                         "2 min",
                         "20 hour",
                         "30 min",
                         ">10 hour",
                         "30 hour",
                         ">20 hour",
                         ">10 hour",
                         "1.1 hour",
                         "3 min",
                         "2 min",
                         "2.8 hour",
                         "10 min",
                         "2 min",
                         "2.8 hour",
                         "3 min",
                         "2 min",
                         "1.9 hour",
                         ">20 hour",
                         ">10 hour",
                         "7.2 hour",
                         ">20 hour",
                         ">10 hour",
                         "1.2 hour",
                         ">20 hour",
                         ">10 hour",
                         "1.4 hour",
                         "3 min",
                         ">10 hour",
                         "0.8 hour",
                         "10 min",
                         ">10 hour",
                         "1.3 hour",
                         "3 min",
                         "2 min",
                         "3.5 hour",
                         "10 min",
                         ">10 hour",
                         "1 hour",
                         "2 min",
                         "2 min",
                         "1.1 hour",
                         "3 min",
                         ">10 hour",
                         "1 hour",
                         "30 min",
                         ">10 hour"
                         "",
                         ""};
  int e1, e2;
  float aIndex, a = 2.9, b = 3.9;
  float GRAVYparam[20] = {-0.4, 1.8, -1.6, 4.2, 3.8, 4.5, 1.9, 2.8, -1.3, -0.9, -0.8, -0.7, 2.5, -3.5, -3.5, -3.9, -3.2, -4.5, -3.5, -3.5};
  float GRAVYtotal = 0.0, GRAVY;
  float absorbance[2];
  float molecularWeight;
  for (i = 0; i < 20; i++)
    aacidCounter[i] = 0;
  printf("Enter the sequence \n");
  for (i = 0; i < 90; i++) {
    scanf("%c", &seq[i]);
    if (seq[i] == '\n')
      break;
    if (seq[i] == 'G' || seq[i] == 'A' || seq[i] == 'P' || seq[i] == 'V' || seq[i] == 'L' || seq[i] == 'I' || seq[i] == 'M' || seq[i] == 'F' || seq[i] == 'Y' || seq[i] == 'W' || seq[i] == 'S' || seq[i] == 'T' || seq[i] == 'C' || seq[i] == 'N' || seq[i] == 'Q' || seq[i] == 'K' || seq[i] == 'H' || seq[i] == 'R' || seq[i] == 'D' || seq[i] == 'E') {
      aacidCounterTotal++;
      if (seq[i] == 'G')
        aacidCounter[0]++;
      if (seq[i] == 'A')
        aacidCounter[1]++;
      if (seq[i] == 'P')
        aacidCounter[2]++;
      if (seq[i] == 'V')
        aacidCounter[3]++;
      if (seq[i] == 'L')
        aacidCounter[4]++;
      if (seq[i] == 'I')
        aacidCounter[5]++;
      if (seq[i] == 'M')
        aacidCounter[6]++;
      if (seq[i] == 'F')
        aacidCounter[7]++;
      if (seq[i] == 'Y')
        aacidCounter[8]++;
      if (seq[i] == 'W')
        aacidCounter[9]++;
      if (seq[i] == 'S')
        aacidCounter[10]++;
      if (seq[i] == 'T')
        aacidCounter[11]++;
      if (seq[i] == 'C')
        aacidCounter[12]++;
      if (seq[i] == 'N')
        aacidCounter[13]++;
      if (seq[i] == 'Q')
        aacidCounter[14]++;
      if (seq[i] == 'K')
        aacidCounter[15]++;
      if (seq[i] == 'H')
        aacidCounter[16]++;
      if (seq[i] == 'R')
        aacidCounter[17]++;
      if (seq[i] == 'D')
        aacidCounter[18]++;
      if (seq[i] == 'E')
        aacidCounter[19]++;
      if (seq[i] == 'K' || seq[i] == 'H' || seq[i] == 'R')
        positiveCounter++;
      if (seq[i] == 'D' || seq[i] == 'E')
        negativeCounter++;
      if (seq[i] == 'S' || seq[i] == 'T' || seq[i] == 'C' || seq[i] == 'N' || seq[i] == 'Q')
        polarCounter++;
      if (seq[i] == 'G' || seq[i] == 'A' || seq[i] == 'P' || seq[i] == 'V' || seq[i] == 'L' || seq[i] == 'I' || seq[i] == 'M')
        nonpolarCounter++;
      if (seq[i] == 'F' || seq[i] == 'Y' || seq[i] == 'W')
        aromaticCounter++;
    }
  }
  printf("\n");
  printf("No of Amino Acids: %d \n", aacidCounterTotal);
  printf("No of positive Amino Acids: %d \n", positiveCounter);
  printf("No of negative Amino Acids: %d \n", negativeCounter);
  printf("No of polar Amino Acids: %d \n", polarCounter);
  printf("No of nonpolar Amino Acids: %d \n", nonpolarCounter);
  printf("No of aromatic Amino Acids: %d \n", aromaticCounter);
  printf("Amino acid composition\n\n\n\n");
  for (i = 0; i < 20; i++) {
    printf("%c \t %d   %f \n", aacid[i], aacidCounter[i], (float)aacidCounter[i] * 100.00 / (float)aacidCounterTotal);
  }
  for (i = 0; i < 20; i++) {
    if (aacidCounter[i] > 0)
      for (j = 0; j < aacidCounter[i]; j++) {
        carbonCounter += atomicComposition[i][0];
        hydrogenCounter += atomicComposition[i][1];
        nitrogenCounter += atomicComposition[i][2];
        oxygenCounter += atomicComposition[i][3];
        sulferCounter += atomicComposition[i][4];
      }
  }
  hydrogenCounter = hydrogenCounter - (2 * aacidCounterTotal - 2);
  oxygenCounter = oxygenCounter - (aacidCounterTotal - 1);
  printf("\n\nAtomic Composition\n");
  printf("Carbon     C\t %d\n", carbonCounter);
  printf("Hydrogen   H\t %d\n", hydrogenCounter);
  printf("Nitrogen   N\t %d\n", nitrogenCounter);
  printf("Oxygen     O\t %d\n", oxygenCounter);
  printf("Sulfer     S\t %d\n", sulferCounter);
  printf("\nFormula:");
  if (carbonCounter > 0)
    printf("C%d ", carbonCounter);
  if (hydrogenCounter > 0)
    printf("H%d ", hydrogenCounter);
  if (nitrogenCounter > 0)
    printf("N%d ", nitrogenCounter);
  if (oxygenCounter > 0)
    printf("O%d ", oxygenCounter);
  if (sulferCounter > 0)
    printf("S%d ", sulferCounter);
  printf("\n");
  totalAtoms = carbonCounter + hydrogenCounter + nitrogenCounter + oxygenCounter + sulferCounter;
  printf("Total number of atoms:  %d\n", totalAtoms);
  molecularWeight = carbonCounter * 12.001 + hydrogenCounter * 1.00794 + nitrogenCounter * 14.00674 + oxygenCounter * 15.9994 + sulferCounter * 32.066;
  printf("Molecular weight %f\n\n", molecularWeight);
  printf("Extinction Coefficient\n");
  e1 = aacidCounter[8] * 1490 + aacidCounter[9] * 5500 + (aacidCounter[12] / 2) * 125;
  e2 = aacidCounter[8] * 1490 + aacidCounter[9] * 5500;
  if (e1 != 0 || e2 != 0)
    printf("%d \n%d\n", e1, e2);
  else
    printf("As there are no Trp, Tyr or Cys in the region considered, your proteinshould not be visible by UV spectrophotometry.\n");
  printf("Aliphatic Index ");
  aIndex = (aacidCounter[1] + a * aacidCounter[3] + b * (aacidCounter[5] + aacidCounter[4])) * 10;
  printf("%f \n", aIndex);
  printf("\nGrand average of hydropathicity (GRAVY) ");
  for (i = 0; i < 20; i++)
    GRAVYtotal = GRAVYtotal + ((float)aacidCounter[i] * GRAVYparam[i]);
  GRAVY = GRAVYtotal / aacidCounterTotal;
  printf("%f \n", GRAVY);
  printf("The N-terminal of the sequence considered is %c ", seq[0]);
  for (i = 0; i < 20; i++)
    if (seq[0] == aacid[i])
      printf("(%s)\n", aacidName[i]);
  printf("Estimated Half life\n");
  for (i = 0; i < 20; i++)
    if (seq[0] == aacid[i]) {
      printf("Mammalian\t%s\nYeast\t%s\nE. coli\t%s\n", halfLife[i][0], halfLife[i][1], halfLife[i][2]);
      break;
    }
  absorbance[0] = e1 / molecularWeight;
  absorbance[1] = e2 / molecularWeight;
  printf("\nAbsorbance 1 %f\nAbsorbance 2 %f\n", absorbance[0], absorbance[1]);
  return 0;
}
```