user: 请从给定的汇编指令推导出C源代码:

```asm
<raid_sort>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x18,%rsp
  mov    %edi,-0x84(%rbp)
  mov    %rsi,-0x90(%rbp)
  cmpl   $0x6,-0x84(%rbp)
  ja     L339
  mov    -0x84(%rbp),%eax
  lea    0x0(,%rax,4),%rdx
  lea    D3(%rip),%rax
  mov    (%rdx,%rax,1),%eax
  cltq
  lea    D3(%rip),%rdx
  add    %rdx,%rax
  notrack jmp *%rax
  mov    -0x90(%rbp),%rax
  mov    (%rax),%edx
  mov    -0x90(%rbp),%rax
  add    $0x4,%rax
  mov    (%rax),%eax
  cmp    %eax,%edx
  jle    L329
  mov    -0x90(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x90(%rbp),%rax
  mov    0x4(%rax),%edx
  mov    -0x90(%rbp),%rax
  mov    %edx,(%rax)
  mov    -0x90(%rbp),%rax
  lea    0x4(%rax),%rdx
  mov    -0x4(%rbp),%eax
  mov    %eax,(%rdx)
  jmp    L329
  mov    -0x90(%rbp),%rax
  mov    (%rax),%edx
  mov    -0x90(%rbp),%rax
  add    $0x8,%rax
  mov    (%rax),%eax
  cmp    %eax,%edx
  jle    L181
  mov    -0x90(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,-0x10(%rbp)
  mov    -0x90(%rbp),%rax
  mov    0x8(%rax),%edx
  mov    -0x90(%rbp),%rax
  mov    %edx,(%rax)
  mov    -0x90(%rbp),%rax
  lea    0x8(%rax),%rdx
  mov    -0x10(%rbp),%eax
  mov    %eax,(%rdx)
L181:
  mov    -0x90(%rbp),%rax
  mov    (%rax),%edx
  mov    -0x90(%rbp),%rax
  add    $0x4,%rax
  mov    (%rax),%eax
  cmp    %eax,%edx
  jle    L357
  mov    -0x90(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,-0xc(%rbp)
  mov    -0x90(%rbp),%rax
  mov    0x4(%rax),%edx
  mov    -0x90(%rbp),%rax
  mov    %edx,(%rax)
  mov    -0x90(%rbp),%rax
  lea    0x4(%rax),%rdx
  mov    -0xc(%rbp),%eax
  mov    %eax,(%rdx)
L357:
  mov    -0x90(%rbp),%rax
  add    $0x4,%rax
  mov    (%rax),%edx
  mov    -0x90(%rbp),%rax
  add    $0x8,%rax
  mov    (%rax),%eax
  cmp    %eax,%edx
  jle    L171
  mov    -0x90(%rbp),%rax
  mov    0x4(%rax),%eax
  mov    %eax,-0x8(%rbp)
  mov    -0x90(%rbp),%rax
  lea    0x4(%rax),%rdx
  mov    -0x90(%rbp),%rax
  mov    0x8(%rax),%eax
  mov    %eax,(%rdx)
  mov    -0x90(%rbp),%rax
  lea    0x8(%rax),%rdx
  mov    -0x8(%rbp),%eax
  mov    %eax,(%rdx)
  jmp    L171
  mov    -0x90(%rbp),%rax
  mov    (%rax),%edx
  mov    -0x90(%rbp),%rax
  add    $0x8,%rax
  mov    (%rax),%eax
  cmp    %eax,%edx
  jle    L394
  mov    -0x90(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,-0x24(%rbp)
  mov    -0x90(%rbp),%rax
  mov    0x8(%rax),%edx
  mov    -0x90(%rbp),%rax
  mov    %edx,(%rax)
  mov    -0x90(%rbp),%rax
  lea    0x8(%rax),%rdx
  mov    -0x24(%rbp),%eax
  mov    %eax,(%rdx)
L394:
  mov    -0x90(%rbp),%rax
  add    $0x4,%rax
  mov    (%rax),%edx
  mov    -0x90(%rbp),%rax
  add    $0xc,%rax
  mov    (%rax),%eax
  cmp    %eax,%edx
  jle    L87
  mov    -0x90(%rbp),%rax
  mov    0x4(%rax),%eax
  mov    %eax,-0x20(%rbp)
  mov    -0x90(%rbp),%rax
  lea    0x4(%rax),%rdx
  mov    -0x90(%rbp),%rax
  mov    0xc(%rax),%eax
  mov    %eax,(%rdx)
  mov    -0x90(%rbp),%rax
  lea    0xc(%rax),%rdx
  mov    -0x20(%rbp),%eax
  mov    %eax,(%rdx)
L87:
  mov    -0x90(%rbp),%rax
  mov    (%rax),%edx
  mov    -0x90(%rbp),%rax
  add    $0x4,%rax
  mov    (%rax),%eax
  cmp    %eax,%edx
  jle    L17
  mov    -0x90(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,-0x1c(%rbp)
  mov    -0x90(%rbp),%rax
  mov    0x4(%rax),%edx
  mov    -0x90(%rbp),%rax
  mov    %edx,(%rax)
  mov    -0x90(%rbp),%rax
  lea    0x4(%rax),%rdx
  mov    -0x1c(%rbp),%eax
  mov    %eax,(%rdx)
L17:
  mov    -0x90(%rbp),%rax
  add    $0x8,%rax
  mov    (%rax),%edx
  mov    -0x90(%rbp),%rax
  add    $0xc,%rax
  mov    (%rax),%eax
  cmp    %eax,%edx
  jle    L280
  mov    -0x90(%rbp),%rax
  mov    0x8(%rax),%eax
  mov    %eax,-0x18(%rbp)
  mov    -0x90(%rbp),%rax
  lea    0x8(%rax),%rdx
  mov    -0x90(%rbp),%rax
  mov    0xc(%rax),%eax
  mov    %eax,(%rdx)
  mov    -0x90(%rbp),%rax
  lea    0xc(%rax),%rdx
  mov    -0x18(%rbp),%eax
  mov    %eax,(%rdx)
L280:
  mov    -0x90(%rbp),%rax
  add    $0x4,%rax
  mov    (%rax),%edx
  mov    -0x90(%rbp),%rax
  add    $0x8,%rax
  mov    (%rax),%eax
  cmp    %eax,%edx
  jle    L225
  mov    -0x90(%rbp),%rax
  mov    0x4(%rax),%eax
  mov    %eax,-0x14(%rbp)
  mov    -0x90(%rbp),%rax
  lea    0x4(%rax),%rdx
  mov    -0x90(%rbp),%rax
  mov    0x8(%rax),%eax
  mov    %eax,(%rdx)
  mov    -0x90(%rbp),%rax
  lea    0x8(%rax),%rdx
  mov    -0x14(%rbp),%eax
  mov    %eax,(%rdx)
  jmp    L225
  mov    -0x90(%rbp),%rax
  mov    (%rax),%edx
  mov    -0x90(%rbp),%rax
  add    $0x10,%rax
  mov    (%rax),%eax
  cmp    %eax,%edx
  jle    L143
  mov    -0x90(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,-0x48(%rbp)
  mov    -0x90(%rbp),%rax
  mov    0x10(%rax),%edx
  mov    -0x90(%rbp),%rax
  mov    %edx,(%rax)
  mov    -0x90(%rbp),%rax
  lea    0x10(%rax),%rdx
  mov    -0x48(%rbp),%eax
  mov    %eax,(%rdx)
L143:
  mov    -0x90(%rbp),%rax
  mov    (%rax),%edx
  mov    -0x90(%rbp),%rax
  add    $0x8,%rax
  mov    (%rax),%eax
  cmp    %eax,%edx
  jle    L278
  mov    -0x90(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,-0x44(%rbp)
  mov    -0x90(%rbp),%rax
  mov    0x8(%rax),%edx
  mov    -0x90(%rbp),%rax
  mov    %edx,(%rax)
  mov    -0x90(%rbp),%rax
  lea    0x8(%rax),%rdx
  mov    -0x44(%rbp),%eax
  mov    %eax,(%rdx)
L278:
  mov    -0x90(%rbp),%rax
  add    $0x4,%rax
  mov    (%rax),%edx
  mov    -0x90(%rbp),%rax
  add    $0xc,%rax
  mov    (%rax),%eax
  cmp    %eax,%edx
  jle    L169
  mov    -0x90(%rbp),%rax
  mov    0x4(%rax),%eax
  mov    %eax,-0x40(%rbp)
  mov    -0x90(%rbp),%rax
  lea    0x4(%rax),%rdx
  mov    -0x90(%rbp),%rax
  mov    0xc(%rax),%eax
  mov    %eax,(%rdx)
  mov    -0x90(%rbp),%rax
  lea    0xc(%rax),%rdx
  mov    -0x40(%rbp),%eax
  mov    %eax,(%rdx)
L169:
  mov    -0x90(%rbp),%rax
  add    $0x8,%rax
  mov    (%rax),%edx
  mov    -0x90(%rbp),%rax
  add    $0x10,%rax
  mov    (%rax),%eax
  cmp    %eax,%edx
  jle    L45
  mov    -0x90(%rbp),%rax
  mov    0x8(%rax),%eax
  mov    %eax,-0x3c(%rbp)
  mov    -0x90(%rbp),%rax
  lea    0x8(%rax),%rdx
  mov    -0x90(%rbp),%rax
  mov    0x10(%rax),%eax
  mov    %eax,(%rdx)
  mov    -0x90(%rbp),%rax
  lea    0x10(%rax),%rdx
  mov    -0x3c(%rbp),%eax
  mov    %eax,(%rdx)
L45:
  mov    -0x90(%rbp),%rax
  mov    (%rax),%edx
  mov    -0x90(%rbp),%rax
  add    $0x4,%rax
  mov    (%rax),%eax
  cmp    %eax,%edx
  jle    L208
  mov    -0x90(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,-0x38(%rbp)
  mov    -0x90(%rbp),%rax
  mov    0x4(%rax),%edx
  mov    -0x90(%rbp),%rax
  mov    %edx,(%rax)
  mov    -0x90(%rbp),%rax
  lea    0x4(%rax),%rdx
  mov    -0x38(%rbp),%eax
  mov    %eax,(%rdx)
L208:
  mov    -0x90(%rbp),%rax
  add    $0x8,%rax
  mov    (%rax),%edx
  mov    -0x90(%rbp),%rax
  add    $0xc,%rax
  mov    (%rax),%eax
  cmp    %eax,%edx
  jle    L272
  mov    -0x90(%rbp),%rax
  mov    0x8(%rax),%eax
  mov    %eax,-0x34(%rbp)
  mov    -0x90(%rbp),%rax
  lea    0x8(%rax),%rdx
  mov    -0x90(%rbp),%rax
  mov    0xc(%rax),%eax
  mov    %eax,(%rdx)
  mov    -0x90(%rbp),%rax
  lea    0xc(%rax),%rdx
  mov    -0x34(%rbp),%eax
  mov    %eax,(%rdx)
L272:
  mov    -0x90(%rbp),%rax
  add    $0x4,%rax
  mov    (%rax),%edx
  mov    -0x90(%rbp),%rax
  add    $0x10,%rax
  mov    (%rax),%eax
  cmp    %eax,%edx
  jle    L110
  mov    -0x90(%rbp),%rax
  mov    0x4(%rax),%eax
  mov    %eax,-0x30(%rbp)
  mov    -0x90(%rbp),%rax
  lea    0x4(%rax),%rdx
  mov    -0x90(%rbp),%rax
  mov    0x10(%rax),%eax
  mov    %eax,(%rdx)
  mov    -0x90(%rbp),%rax
  lea    0x10(%rax),%rdx
  mov    -0x30(%rbp),%eax
  mov    %eax,(%rdx)
L110:
  mov    -0x90(%rbp),%rax
  add    $0x4,%rax
  mov    (%rax),%edx
  mov    -0x90(%rbp),%rax
  add    $0x8,%rax
  mov    (%rax),%eax
  cmp    %eax,%edx
  jle    L156
  mov    -0x90(%rbp),%rax
  mov    0x4(%rax),%eax
  mov    %eax,-0x2c(%rbp)
  mov    -0x90(%rbp),%rax
  lea    0x4(%rax),%rdx
  mov    -0x90(%rbp),%rax
  mov    0x8(%rax),%eax
  mov    %eax,(%rdx)
  mov    -0x90(%rbp),%rax
  lea    0x8(%rax),%rdx
  mov    -0x2c(%rbp),%eax
  mov    %eax,(%rdx)
L156:
  mov    -0x90(%rbp),%rax
  add    $0xc,%rax
  mov    (%rax),%edx
  mov    -0x90(%rbp),%rax
  add    $0x10,%rax
  mov    (%rax),%eax
  cmp    %eax,%edx
  jle    L313
  mov    -0x90(%rbp),%rax
  mov    0xc(%rax),%eax
  mov    %eax,-0x28(%rbp)
  mov    -0x90(%rbp),%rax
  lea    0xc(%rax),%rdx
  mov    -0x90(%rbp),%rax
  mov    0x10(%rax),%eax
  mov    %eax,(%rdx)
  mov    -0x90(%rbp),%rax
  lea    0x10(%rax),%rdx
  mov    -0x28(%rbp),%eax
  mov    %eax,(%rdx)
  jmp    L313
  mov    -0x90(%rbp),%rax
  mov    (%rax),%edx
  mov    -0x90(%rbp),%rax
  add    $0x10,%rax
  mov    (%rax),%eax
  cmp    %eax,%edx
  jle    L281
  mov    -0x90(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,-0x78(%rbp)
  mov    -0x90(%rbp),%rax
  mov    0x10(%rax),%edx
  mov    -0x90(%rbp),%rax
  mov    %edx,(%rax)
  mov    -0x90(%rbp),%rax
  lea    0x10(%rax),%rdx
  mov    -0x78(%rbp),%eax
  mov    %eax,(%rdx)
L281:
  mov    -0x90(%rbp),%rax
  add    $0x4,%rax
  mov    (%rax),%edx
  mov    -0x90(%rbp),%rax
  add    $0x14,%rax
  mov    (%rax),%eax
  cmp    %eax,%edx
  jle    L176
  mov    -0x90(%rbp),%rax
  mov    0x4(%rax),%eax
  mov    %eax,-0x74(%rbp)
  mov    -0x90(%rbp),%rax
  lea    0x4(%rax),%rdx
  mov    -0x90(%rbp),%rax
  mov    0x14(%rax),%eax
  mov    %eax,(%rdx)
  mov    -0x90(%rbp),%rax
  lea    0x14(%rax),%rdx
  mov    -0x74(%rbp),%eax
  mov    %eax,(%rdx)
L176:
  mov    -0x90(%rbp),%rax
  mov    (%rax),%edx
  mov    -0x90(%rbp),%rax
  add    $0x8,%rax
  mov    (%rax),%eax
  cmp    %eax,%edx
  jle    L13
  mov    -0x90(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,-0x70(%rbp)
  mov    -0x90(%rbp),%rax
  mov    0x8(%rax),%edx
  mov    -0x90(%rbp),%rax
  mov    %edx,(%rax)
  mov    -0x90(%rbp),%rax
  lea    0x8(%rax),%rdx
  mov    -0x70(%rbp),%eax
  mov    %eax,(%rdx)
L13:
  mov    -0x90(%rbp),%rax
  add    $0x4,%rax
  mov    (%rax),%edx
  mov    -0x90(%rbp),%rax
  add    $0xc,%rax
  mov    (%rax),%eax
  cmp    %eax,%edx
  jle    L99
  mov    -0x90(%rbp),%rax
  mov    0x4(%rax),%eax
  mov    %eax,-0x6c(%rbp)
  mov    -0x90(%rbp),%rax
  lea    0x4(%rax),%rdx
  mov    -0x90(%rbp),%rax
  mov    0xc(%rax),%eax
  mov    %eax,(%rdx)
  mov    -0x90(%rbp),%rax
  lea    0xc(%rax),%rdx
  mov    -0x6c(%rbp),%eax
  mov    %eax,(%rdx)
L99:
  mov    -0x90(%rbp),%rax
  add    $0x8,%rax
  mov    (%rax),%edx
  mov    -0x90(%rbp),%rax
  add    $0x10,%rax
  mov    (%rax),%eax
  cmp    %eax,%edx
  jle    L37
  mov    -0x90(%rbp),%rax
  mov    0x8(%rax),%eax
  mov    %eax,-0x68(%rbp)
  mov    -0x90(%rbp),%rax
  lea    0x8(%rax),%rdx
  mov    -0x90(%rbp),%rax
  mov    0x10(%rax),%eax
  mov    %eax,(%rdx)
  mov    -0x90(%rbp),%rax
  lea    0x10(%rax),%rdx
  mov    -0x68(%rbp),%eax
  mov    %eax,(%rdx)
L37:
  mov    -0x90(%rbp),%rax
  add    $0xc,%rax
  mov    (%rax),%edx
  mov    -0x90(%rbp),%rax
  add    $0x14,%rax
  mov    (%rax),%eax
  cmp    %eax,%edx
  jle    L293
  mov    -0x90(%rbp),%rax
  mov    0xc(%rax),%eax
  mov    %eax,-0x64(%rbp)
  mov    -0x90(%rbp),%rax
  lea    0xc(%rax),%rdx
  mov    -0x90(%rbp),%rax
  mov    0x14(%rax),%eax
  mov    %eax,(%rdx)
  mov    -0x90(%rbp),%rax
  lea    0x14(%rax),%rdx
  mov    -0x64(%rbp),%eax
  mov    %eax,(%rdx)
L293:
  mov    -0x90(%rbp),%rax
  mov    (%rax),%edx
  mov    -0x90(%rbp),%rax
  add    $0x4,%rax
  mov    (%rax),%eax
  cmp    %eax,%edx
  jle    L365
  mov    -0x90(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,-0x60(%rbp)
  mov    -0x90(%rbp),%rax
  mov    0x4(%rax),%edx
  mov    -0x90(%rbp),%rax
  mov    %edx,(%rax)
  mov    -0x90(%rbp),%rax
  lea    0x4(%rax),%rdx
  mov    -0x60(%rbp),%eax
  mov    %eax,(%rdx)
L365:
  mov    -0x90(%rbp),%rax
  add    $0x8,%rax
  mov    (%rax),%edx
  mov    -0x90(%rbp),%rax
  add    $0xc,%rax
  mov    (%rax),%eax
  cmp    %eax,%edx
  jle    L138
  mov    -0x90(%rbp),%rax
  mov    0x8(%rax),%eax
  mov    %eax,-0x5c(%rbp)
  mov    -0x90(%rbp),%rax
  lea    0x8(%rax),%rdx
  mov    -0x90(%rbp),%rax
  mov    0xc(%rax),%eax
  mov    %eax,(%rdx)
  mov    -0x90(%rbp),%rax
  lea    0xc(%rax),%rdx
  mov    -0x5c(%rbp),%eax
  mov    %eax,(%rdx)
L138:
  mov    -0x90(%rbp),%rax
  add    $0x10,%rax
  mov    (%rax),%edx
  mov    -0x90(%rbp),%rax
  add    $0x14,%rax
  mov    (%rax),%eax
  cmp    %eax,%edx
  jle    L8
  mov    -0x90(%rbp),%rax
  mov    0x10(%rax),%eax
  mov    %eax,-0x58(%rbp)
  mov    -0x90(%rbp),%rax
  lea    0x10(%rax),%rdx
  mov    -0x90(%rbp),%rax
  mov    0x14(%rax),%eax
  mov    %eax,(%rdx)
  mov    -0x90(%rbp),%rax
  lea    0x14(%rax),%rdx
  mov    -0x58(%rbp),%eax
  mov    %eax,(%rdx)
L8:
  mov    -0x90(%rbp),%rax
  add    $0x4,%rax
  mov    (%rax),%edx
  mov    -0x90(%rbp),%rax
  add    $0x10,%rax
  mov    (%rax),%eax
  cmp    %eax,%edx
  jle    L92
  mov    -0x90(%rbp),%rax
  mov    0x4(%rax),%eax
  mov    %eax,-0x54(%rbp)
  mov    -0x90(%rbp),%rax
  lea    0x4(%rax),%rdx
  mov    -0x90(%rbp),%rax
  mov    0x10(%rax),%eax
  mov    %eax,(%rdx)
  mov    -0x90(%rbp),%rax
  lea    0x10(%rax),%rdx
  mov    -0x54(%rbp),%eax
  mov    %eax,(%rdx)
L92:
  mov    -0x90(%rbp),%rax
  add    $0x4,%rax
  mov    (%rax),%edx
  mov    -0x90(%rbp),%rax
  add    $0x8,%rax
  mov    (%rax),%eax
  cmp    %eax,%edx
  jle    L369
  mov    -0x90(%rbp),%rax
  mov    0x4(%rax),%eax
  mov    %eax,-0x50(%rbp)
  mov    -0x90(%rbp),%rax
  lea    0x4(%rax),%rdx
  mov    -0x90(%rbp),%rax
  mov    0x8(%rax),%eax
  mov    %eax,(%rdx)
  mov    -0x90(%rbp),%rax
  lea    0x8(%rax),%rdx
  mov    -0x50(%rbp),%eax
  mov    %eax,(%rdx)
L369:
  mov    -0x90(%rbp),%rax
  add    $0xc,%rax
  mov    (%rax),%edx
  mov    -0x90(%rbp),%rax
  add    $0x10,%rax
  mov    (%rax),%eax
  cmp    %eax,%edx
  jle    L266
  mov    -0x90(%rbp),%rax
  mov    0xc(%rax),%eax
  mov    %eax,-0x4c(%rbp)
  mov    -0x90(%rbp),%rax
  lea    0xc(%rax),%rdx
  mov    -0x90(%rbp),%rax
  mov    0x10(%rax),%eax
  mov    %eax,(%rdx)
  mov    -0x90(%rbp),%rax
  lea    0x10(%rax),%rdx
  mov    -0x4c(%rbp),%eax
  mov    %eax,(%rdx)
  jmp    L266
L329:
  nop
  jmp    L339
L171:
  nop
  jmp    L339
L225:
  nop
  jmp    L339
L313:
  nop
  jmp    L339
L266:
  nop
L339:
  nop
  leave
  ret
```

assistant: ```c
void raid_sort(int n, int *v) {
  switch (n) {
  case 2:
    do {
      if (v[0] > v[1]) {
        int t = v[0];
        v[0] = v[1];
        v[1] = t;
      }
    } while (0);
    break;
  case 3:
    do {
      if (v[0] > v[2]) {
        int t = v[0];
        v[0] = v[2];
        v[2] = t;
      }
    } while (0);
    do {
      if (v[0] > v[1]) {
        int t = v[0];
        v[0] = v[1];
        v[1] = t;
      }
    } while (0);
    do {
      if (v[1] > v[2]) {
        int t = v[1];
        v[1] = v[2];
        v[2] = t;
      }
    } while (0);
    break;
  case 4:
    do {
      if (v[0] > v[2]) {
        int t = v[0];
        v[0] = v[2];
        v[2] = t;
      }
    } while (0);
    do {
      if (v[1] > v[3]) {
        int t = v[1];
        v[1] = v[3];
        v[3] = t;
      }
    } while (0);
    do {
      if (v[0] > v[1]) {
        int t = v[0];
        v[0] = v[1];
        v[1] = t;
      }
    } while (0);
    do {
      if (v[2] > v[3]) {
        int t = v[2];
        v[2] = v[3];
        v[3] = t;
      }
    } while (0);
    do {
      if (v[1] > v[2]) {
        int t = v[1];
        v[1] = v[2];
        v[2] = t;
      }
    } while (0);
    break;
  case 5:
    do {
      if (v[0] > v[4]) {
        int t = v[0];
        v[0] = v[4];
        v[4] = t;
      }
    } while (0);
    do {
      if (v[0] > v[2]) {
        int t = v[0];
        v[0] = v[2];
        v[2] = t;
      }
    } while (0);
    do {
      if (v[1] > v[3]) {
        int t = v[1];
        v[1] = v[3];
        v[3] = t;
      }
    } while (0);
    do {
      if (v[2] > v[4]) {
        int t = v[2];
        v[2] = v[4];
        v[4] = t;
      }
    } while (0);
    do {
      if (v[0] > v[1]) {
        int t = v[0];
        v[0] = v[1];
        v[1] = t;
      }
    } while (0);
    do {
      if (v[2] > v[3]) {
        int t = v[2];
        v[2] = v[3];
        v[3] = t;
      }
    } while (0);
    do {
      if (v[1] > v[4]) {
        int t = v[1];
        v[1] = v[4];
        v[4] = t;
      }
    } while (0);
    do {
      if (v[1] > v[2]) {
        int t = v[1];
        v[1] = v[2];
        v[2] = t;
      }
    } while (0);
    do {
      if (v[3] > v[4]) {
        int t = v[3];
        v[3] = v[4];
        v[4] = t;
      }
    } while (0);
    break;
  case 6:
    do {
      if (v[0] > v[4]) {
        int t = v[0];
        v[0] = v[4];
        v[4] = t;
      }
    } while (0);
    do {
      if (v[1] > v[5]) {
        int t = v[1];
        v[1] = v[5];
        v[5] = t;
      }
    } while (0);
    do {
      if (v[0] > v[2]) {
        int t = v[0];
        v[0] = v[2];
        v[2] = t;
      }
    } while (0);
    do {
      if (v[1] > v[3]) {
        int t = v[1];
        v[1] = v[3];
        v[3] = t;
      }
    } while (0);
    do {
      if (v[2] > v[4]) {
        int t = v[2];
        v[2] = v[4];
        v[4] = t;
      }
    } while (0);
    do {
      if (v[3] > v[5]) {
        int t = v[3];
        v[3] = v[5];
        v[5] = t;
      }
    } while (0);
    do {
      if (v[0] > v[1]) {
        int t = v[0];
        v[0] = v[1];
        v[1] = t;
      }
    } while (0);
    do {
      if (v[2] > v[3]) {
        int t = v[2];
        v[2] = v[3];
        v[3] = t;
      }
    } while (0);
    do {
      if (v[4] > v[5]) {
        int t = v[4];
        v[4] = v[5];
        v[5] = t;
      }
    } while (0);
    do {
      if (v[1] > v[4]) {
        int t = v[1];
        v[1] = v[4];
        v[4] = t;
      }
    } while (0);
    do {
      if (v[1] > v[2]) {
        int t = v[1];
        v[1] = v[2];
        v[2] = t;
      }
    } while (0);
    do {
      if (v[3] > v[4]) {
        int t = v[3];
        v[3] = v[4];
        v[4] = t;
      }
    } while (0);
    break;
  }
}
```