user: 请将这段汇编代码片段转换成等效的C代码:

```asm
<main>:
  endbr64
  sub    $0x18,%rsp
  lea    D1(%rip),%rdi
  mov    %fs:0x28,%rax
  mov    %rax,0x8(%rsp)
  xor    %eax,%eax
  lea    0x4(%rsp),%rsi
  call   <scanf@plt>
  cmpl   $0xa,0x4(%rsp)
  ja     L56
  mov    0x4(%rsp),%eax
  lea    D115(%rip),%rdx
  movslq (%rdx,%rax,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
  lea    D61(%rip),%rdi
  call   <puts@plt>
  nopl   0x0(%rax)
L56:
  mov    0x8(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L38
  xor    %eax,%eax
  add    $0x18,%rsp
  ret
  lea    D72(%rip),%rdi
  call   <puts@plt>
  jmp    L56
  lea    D16(%rip),%rdi
  call   <puts@plt>
  jmp    L56
  lea    D33(%rip),%rdi
  call   <puts@plt>
  jmp    L56
  lea    D91(%rip),%rdi
  call   <puts@plt>
  jmp    L56
  lea    D114(%rip),%rdi
  call   <puts@plt>
  jmp    L56
  lea    D55(%rip),%rdi
  call   <puts@plt>
  jmp    L56
  lea    D47(%rip),%rdi
  call   <puts@plt>
  jmp    L56
  lea    D54(%rip),%rdi
  call   <puts@plt>
  jmp    L56
  lea    D62(%rip),%rdi
  call   <puts@plt>
  jmp    L56
L38:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: extract_symbolic_data
arguments: label: D1
type_infered: string
name: extract_symbolic_data
arguments: label: D61
type_infered: string
name: extract_symbolic_data
arguments: label: D72
type_infered: string
name: extract_symbolic_data
arguments: label: D16
type_infered: string
name: extract_symbolic_data
arguments: label: D33
type_infered: string
name: extract_symbolic_data
arguments: label: D91
type_infered: string
name: extract_symbolic_data
arguments: label: D114
type_infered: string
name: extract_symbolic_data
arguments: label: D55
type_infered: string
name: extract_symbolic_data
arguments: label: D47
type_infered: string
name: extract_symbolic_data
arguments: label: D54
type_infered: string
name: extract_symbolic_data
arguments: label: D62
type_infered: string

tool: D1: %i

tool: D61: 1

tool: D72: 1 2 6 7 15 16 28 29 45 46
3 5 8 14 17 27 30 44 47 64
4 9 13 18 26 31 43 48 63 65
10 12 19 25 32 42 49 62 66 79
11 20 24 33 41 50 61 67 78 80
21 23 34 40 51 60 68 77 81 90
22 35 39 52 59 69 76 82 89 91
36 38 53 58 70 75 83 88 92 97
37 54 57 71 74 84 87 93 96 98
55 56 72 73 85 86 94 95 99 100

tool: D16: 1 2
3 4

tool: D33: 1 2 6
3 5 7
4 8 9

tool: D91: 1 2 6 7
3 5 8 13
4 9 12 14
10 11 15 16

tool: D114: 1 2 6 7 15
3 5 8 14 16
4 9 13 17 22
10 12 18 21 23
11 19 20 24 25

tool: D55: 1 2 6 7 15 16
3 5 8 14 17 26
4 9 13 18 25 27
10 12 19 24 28 33
11 20 23 29 32 34
21 22 30 31 35 36

tool: D47: 1 2 6 7 15 16 28
3 5 8 14 17 27 29
4 9 13 18 26 30 39
10 12 19 25 31 38 40
11 20 24 32 37 41 46
21 23 33 36 42 45 47
22 34 35 43 44 48 49

tool: D54: 1 2 6 7 15 16 28 29
3 5 8 14 17 27 30 43
4 9 13 18 26 31 42 44
10 12 19 25 32 41 45 54
11 20 24 33 40 46 53 55
21 23 34 39 47 52 56 61
22 35 38 48 51 57 60 62
36 37 49 50 58 59 63 64

tool: D62: 1 2 6 7 15 16 28 29 45
3 5 8 14 17 27 30 44 46
4 9 13 18 26 31 43 47 60
10 12 19 25 32 42 48 59 61
11 20 24 33 41 49 58 62 71
21 23 34 40 50 57 63 70 72
22 35 39 51 56 64 69 73 78
36 38 52 55 65 68 74 77 79
37 53 54 66 67 75 76 80 81

assistant: ```c
int main(int argc, const char *argv[]) {
  int a;
  scanf("%i", &a);
  switch (a) {
  case 1:
    puts("1");
    break;
  case 2:
    puts("1 2\n"
         "3 4");
    break;
  case 3:
    puts("1 2 6\n"
         "3 5 7\n"
         "4 8 9");
    break;
  case 4:
    puts("1 2 6 7\n"
         "3 5 8 13\n"
         "4 9 12 14\n"
         "10 11 15 16");
    break;
  case 5:
    puts("1 2 6 7 15\n"
         "3 5 8 14 16\n"
         "4 9 13 17 22\n"
         "10 12 18 21 23\n"
         "11 19 20 24 25");
    break;
  case 6:
    puts("1 2 6 7 15 16\n"
         "3 5 8 14 17 26\n"
         "4 9 13 18 25 27\n"
         "10 12 19 24 28 33\n"
         "11 20 23 29 32 34\n"
         "21 22 30 31 35 36");
    break;
  case 7:
    puts("1 2 6 7 15 16 28\n"
         "3 5 8 14 17 27 29\n"
         "4 9 13 18 26 30 39\n"
         "10 12 19 25 31 38 40\n"
         "11 20 24 32 37 41 46\n"
         "21 23 33 36 42 45 47\n"
         "22 34 35 43 44 48 49");
    break;
  case 8:
    puts("1 2 6 7 15 16 28 29\n"
         "3 5 8 14 17 27 30 43\n"
         "4 9 13 18 26 31 42 44\n"
         "10 12 19 25 32 41 45 54\n"
         "11 20 24 33 40 46 53 55\n"
         "21 23 34 39 47 52 56 61\n"
         "22 35 38 48 51 57 60 62\n"
         "36 37 49 50 58 59 63 64");
    break;
  case 9:
    puts("1 2 6 7 15 16 28 29 45\n"
         "3 5 8 14 17 27 30 44 46\n"
         "4 9 13 18 26 31 43 47 60\n"
         "10 12 19 25 32 42 48 59 61\n"
         "11 20 24 33 41 49 58 62 71\n"
         "21 23 34 40 50 57 63 70 72\n"
         "22 35 39 51 56 64 69 73 78\n"
         "36 38 52 55 65 68 74 77 79\n"
         "37 53 54 66 67 75 76 80 81");
    break;
  case 10:
    puts("1 2 6 7 15 16 28 29 45 46\n"
         "3 5 8 14 17 27 30 44 47 64\n"
         "4 9 13 18 26 31 43 48 63 65\n"
         "10 12 19 25 32 42 49 62 66 79\n"
         "11 20 24 33 41 50 61 67 78 80\n"
         "21 23 34 40 51 60 68 77 81 90\n"
         "22 35 39 52 59 69 76 82 89 91\n"
         "36 38 53 58 70 75 83 88 92 97\n"
         "37 54 57 71 74 84 87 93 96 98\n"
         "55 56 72 73 85 86 94 95 99 100");
    break;
  }
  return 0;
}
```