Given the following C code and unoptimized assembly code, your task is to generate highly optimized x86-64 assembly code.
C Code:

```c
#include <stdio.h>
#define min(x, y) ((x)>(y) ? (y) : (x))
#define max(x, y) ((x)<(y) ? (y) : (x))
#define swap(type, x, y) do{ type t = x; x = y; y = t; }while(0)

void quick(long array[], int left, int right);

long lunlun[265726] = {0};

void dfs(long num, int len){
  if(len > 10)  return;
  lunlun[++lunlun[0]] = num;
  for(long i=-1; i<=1; i++)
    if(num%10+i>=0 && num%10+i<=9){
      long newnum = num*10 + num%10+i;
      dfs(newnum, len+1);
    }
  
  return;
}

int main(){
  int k;  scanf("%d", &k);

  for(long i=1; i<=9; i++)
    dfs(i, 1);

  quick(lunlun, 1, lunlun[0]);

  printf("%ld\n", lunlun[k]);
  return 0;
}

void quick(long array[], int left, int right){
  int pl = left, pr = right;
  long x = array[(left+right) / 2];
  do{
    while(array[pl] < x)  pl++;
    while(array[pr] > x)  pr--;
    if(pl <= pr){
      swap(long, array[pl], array[pr]);
      pl++, pr--;
    }
  }while(pl <= pr);
  if(pl < right)  quick(array, pl, right);
  if(pr > left)   quick(array, left, pr);
}
  
```

Unoptimized Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.globl	lunlun
	.bss
	.align 32
	.type	lunlun, @object
	.size	lunlun, 2125808
lunlun:
	.zero	2125808
	.text
	.globl	dfs
	.type	dfs, @function
dfs:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$32, %rsp
	movq	%rdi, -24(%rbp)
	movl	%esi, -28(%rbp)
	cmpl	$10, -28(%rbp)
	jg	.L7
	movq	lunlun(%rip), %rax
	addq	$1, %rax
	movq	%rax, lunlun(%rip)
	movq	lunlun(%rip), %rax
	leaq	0(,%rax,8), %rcx
	leaq	lunlun(%rip), %rdx
	movq	-24(%rbp), %rax
	movq	%rax, (%rcx,%rdx)
	movq	$-1, -16(%rbp)
	jmp	.L4
.L6:
	movq	-24(%rbp), %rcx
	movabsq	$7378697629483820647, %rdx
	movq	%rcx, %rax
	imulq	%rdx
	movq	%rdx, %rax
	sarq	$2, %rax
	movq	%rcx, %rsi
	sarq	$63, %rsi
	subq	%rsi, %rax
	movq	%rax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	subq	%rax, %rcx
	movq	%rcx, %rdx
	movq	-16(%rbp), %rax
	addq	%rdx, %rax
	testq	%rax, %rax
	js	.L5
	movq	-24(%rbp), %rcx
	movabsq	$7378697629483820647, %rdx
	movq	%rcx, %rax
	imulq	%rdx
	movq	%rdx, %rax
	sarq	$2, %rax
	movq	%rcx, %rsi
	sarq	$63, %rsi
	subq	%rsi, %rax
	movq	%rax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	subq	%rax, %rcx
	movq	%rcx, %rdx
	movq	-16(%rbp), %rax
	addq	%rdx, %rax
	cmpq	$9, %rax
	jg	.L5
	movq	-24(%rbp), %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	movq	%rax, %rdi
	movq	-24(%rbp), %rcx
	movabsq	$7378697629483820647, %rdx
	movq	%rcx, %rax
	imulq	%rdx
	movq	%rdx, %rax
	sarq	$2, %rax
	movq	%rcx, %rsi
	sarq	$63, %rsi
	subq	%rsi, %rax
	movq	%rax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	subq	%rax, %rcx
	movq	%rcx, %rdx
	addq	%rdi, %rdx
	movq	-16(%rbp), %rax
	addq	%rdx, %rax
	movq	%rax, -8(%rbp)
	movl	-28(%rbp), %eax
	leal	1(%rax), %edx
	movq	-8(%rbp), %rax
	movl	%edx, %esi
	movq	%rax, %rdi
	call	dfs
.L5:
	addq	$1, -16(%rbp)
.L4:
	cmpq	$1, -16(%rbp)
	jle	.L6
	jmp	.L1
.L7:
	nop
.L1:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	dfs, .-dfs
	.section	.rodata
.LC0:
	.string	"%d"
.LC1:
	.string	"%ld\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB1:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$32, %rsp
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	leaq	-20(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movq	$1, -16(%rbp)
	jmp	.L9
.L10:
	movq	-16(%rbp), %rax
	movl	$1, %esi
	movq	%rax, %rdi
	call	dfs
	addq	$1, -16(%rbp)
.L9:
	cmpq	$9, -16(%rbp)
	jle	.L10
	movq	lunlun(%rip), %rax
	movl	%eax, %edx
	movl	$1, %esi
	leaq	lunlun(%rip), %rax
	movq	%rax, %rdi
	call	quick
	movl	-20(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	leaq	lunlun(%rip), %rax
	movq	(%rdx,%rax), %rax
	movq	%rax, %rsi
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	$0, %eax
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L12
	call	__stack_chk_fail@PLT
.L12:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	main, .-main
	.globl	quick
	.type	quick, @function
quick:
.LFB2:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$48, %rsp
	movq	%rdi, -40(%rbp)
	movl	%esi, -44(%rbp)
	movl	%edx, -48(%rbp)
	movl	-44(%rbp), %eax
	movl	%eax, -24(%rbp)
	movl	-48(%rbp), %eax
	movl	%eax, -20(%rbp)
	movl	-44(%rbp), %edx
	movl	-48(%rbp), %eax
	addl	%edx, %eax
	movl	%eax, %edx
	shrl	$31, %edx
	addl	%edx, %eax
	sarl	%eax
	cltq
	leaq	0(,%rax,8), %rdx
	movq	-40(%rbp), %rax
	addq	%rdx, %rax
	movq	(%rax), %rax
	movq	%rax, -16(%rbp)
	jmp	.L14
.L15:
	addl	$1, -24(%rbp)
.L14:
	movl	-24(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	movq	-40(%rbp), %rax
	addq	%rdx, %rax
	movq	(%rax), %rax
	cmpq	%rax, -16(%rbp)
	jg	.L15
	jmp	.L16
.L17:
	subl	$1, -20(%rbp)
.L16:
	movl	-20(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	movq	-40(%rbp), %rax
	addq	%rdx, %rax
	movq	(%rax), %rax
	cmpq	%rax, -16(%rbp)
	jl	.L17
	movl	-24(%rbp), %eax
	cmpl	-20(%rbp), %eax
	jg	.L18
	movl	-24(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	movq	-40(%rbp), %rax
	addq	%rdx, %rax
	movq	(%rax), %rax
	movq	%rax, -8(%rbp)
	movl	-20(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	movq	-40(%rbp), %rax
	addq	%rdx, %rax
	movl	-24(%rbp), %edx
	movslq	%edx, %rdx
	leaq	0(,%rdx,8), %rcx
	movq	-40(%rbp), %rdx
	addq	%rcx, %rdx
	movq	(%rax), %rax
	movq	%rax, (%rdx)
	movl	-20(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	movq	-40(%rbp), %rax
	addq	%rax, %rdx
	movq	-8(%rbp), %rax
	movq	%rax, (%rdx)
	addl	$1, -24(%rbp)
	subl	$1, -20(%rbp)
.L18:
	movl	-24(%rbp), %eax
	cmpl	-20(%rbp), %eax
	jle	.L14
	movl	-24(%rbp), %eax
	cmpl	-48(%rbp), %eax
	jge	.L20
	movl	-48(%rbp), %edx
	movl	-24(%rbp), %ecx
	movq	-40(%rbp), %rax
	movl	%ecx, %esi
	movq	%rax, %rdi
	call	quick
.L20:
	movl	-20(%rbp), %eax
	cmpl	-44(%rbp), %eax
	jle	.L22
	movl	-20(%rbp), %edx
	movl	-44(%rbp), %ecx
	movq	-40(%rbp), %rax
	movl	%ecx, %esi
	movq	%rax, %rdi
	call	quick
.L22:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	quick, .-quick
	.ident	"GCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	1f - 0f
	.long	4f - 1f
	.long	5
0:
	.string	"GNU"
1:
	.align 8
	.long	0xc0000002
	.long	3f - 2f
2:
	.long	0x3
3:
	.align 8
4:
```

Only output the optimized assembly code. Do not include any other text. Do not write any comments in the assembly code. Wrap the assembly code in ```assembly``` tags.
user
	.file	"temp.c"
	.text
	.p2align 4
	.type	dfs.part.0, @function
dfs.part.0:
.LFB26:
	.cfi_startproc
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	leaq	lunlun(%rip), %r15
	movq	%rdi, %rcx
	movl	%esi, %r11d
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	leal	5(%rsi), %esi
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	subq	$120, %rsp
	.cfi_def_cfa_offset 176
	movq	lunlun(%rip), %rax
	addq	$1, %rax
	movq	%rax, lunlun(%rip)
	movq	%rdi, (%r15,%rax,8)
	leaq	(%rdi,%rdi,4), %rax
	leaq	(%rax,%rax), %r8
	movabsq	$7378697629483820647, %rax
	imulq	%rdi
	movq	%rdi, %rax
	sarq	$63, %rax
	sarq	$2, %rdx
	subq	%rax, %rdx
	leaq	(%rdx,%rdx,4), %rax
	addq	%rax, %rax
	subq	%rax, %rcx
	movq	%r8, %rax
	addq	%r8, %rcx
	leaq	2(%rcx), %r9
	leaq	-1(%rcx), %r10
	movq	%r9, %r8
	movl	%r11d, %r9d
	movq	%rax, %r11
.L3:
	movq	%r10, %rax
	subq	%r11, %rax
	cmpq	$9, %rax
	jbe	.L2
.L5:
	addq	$1, %r10
	cmpq	%r10, %r8
	jne	.L3
	addq	$120, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L2:
	.cfi_restore_state
	cmpl	$9, %r9d
	jg	.L5
	movq	(%r15), %rax
	movq	%r8, 16(%rsp)
	addq	$1, %rax
	movq	%rax, (%r15)
	movq	%r10, (%r15,%rax,8)
	leaq	(%r10,%r10,4), %rax
	leaq	(%rax,%rax), %rcx
	movabsq	$7378697629483820647, %rax
	imulq	%r10
	movq	%r10, %rax
	sarq	$63, %rax
	sarq	$2, %rdx
	subq	%rax, %rdx
	movq	%r10, %rax
	leaq	(%rdx,%rdx,4), %rdx
	addq	%rdx, %rdx
	subq	%rdx, %rax
	addq	%rcx, %rax
	leaq	-1(%rax), %rbx
	addq	$2, %rax
	movq	%rax, 8(%rsp)
.L7:
	movq	%rbx, %rax
	subq	%rcx, %rax
	cmpq	$9, %rax
	jbe	.L6
.L8:
	addq	$1, %rbx
	cmpq	%rbx, 8(%rsp)
	jne	.L7
	movq	16(%rsp), %r8
	jmp	.L5
	.p2align 4,,10
	.p2align 3
.L6:
	cmpl	$9, %r9d
	je	.L8
	movq	(%r15), %rax
	addq	$1, %rax
	movq	%rax, (%r15)
	movq	%rbx, (%r15,%rax,8)
	movabsq	$7378697629483820647, %rax
	imulq	%rbx
	movq	%rbx, %rax
	sarq	$63, %rax
	sarq	$2, %rdx
	subq	%rax, %rdx
	leaq	(%rdx,%rdx,4), %rax
	movq	%rbx, %rdx
	addq	%rax, %rax
	subq	%rax, %rdx
	leaq	(%rbx,%rbx,4), %rax
	addq	%rax, %rax
	leaq	2(%rdx), %r8
	leaq	-1(%rdx), %rbp
	movq	%rax, 24(%rsp)
	addq	%rdx, %rax
	movq	%r8, %r14
	leaq	(%rax,%rax,4), %rax
	leaq	-10(%rax,%rax), %r13
	cmpq	$9, %rbp
	jbe	.L95
.L10:
	addq	$1, %rbp
	addq	$10, %r13
	cmpq	%r14, %rbp
	je	.L8
	cmpq	$9, %rbp
	ja	.L10
.L95:
	cmpl	$8, %r9d
	je	.L10
	movq	24(%rsp), %rax
	leaq	0(%rbp,%rax), %rdi
	movq	(%r15), %rax
	addq	$1, %rax
	movq	%rax, (%r15)
	movq	%rdi, (%r15,%rax,8)
	movabsq	$7378697629483820647, %rax
	imulq	%rdi
	movq	%rdi, %rax
	sarq	$63, %rax
	sarq	$2, %rdx
	subq	%rax, %rdx
	leaq	(%rdx,%rdx,4), %rax
	addq	%rax, %rax
	subq	%rax, %rdi
	leaq	-1(%rdi), %rax
	movq	%rdi, %r12
	cmpq	$9, %rax
	jbe	.L96
	cmpq	$9, %rdi
	jbe	.L97
.L22:
	leaq	1(%r12), %rax
	cmpq	$9, %rax
	ja	.L10
	cmpl	$7, %r9d
	je	.L10
	leaq	0(%r13,%r12), %rax
	movq	%rax, 40(%rsp)
.L49:
	movq	40(%rsp), %r12
	addq	$1, %r12
.L39:
	movq	(%r15), %rax
	addq	$1, %rax
	movq	%rax, (%r15)
	movq	%r12, (%r15,%rax,8)
	movabsq	$7378697629483820647, %rax
	imulq	%r12
	movq	%rdx, %rax
	movq	%r12, %rdx
	sarq	$63, %rdx
	sarq	$2, %rax
	subq	%rdx, %rax
	leaq	(%rax,%rax,4), %rdx
	movq	%r12, %rax
	addq	%rdx, %rdx
	subq	%rdx, %rax
	leaq	-1(%rax), %rdx
	cmpq	$9, %rdx
	jbe	.L98
	cmpq	$9, %rax
	jbe	.L99
	leaq	1(%rax), %rdx
	cmpq	$9, %rdx
	ja	.L10
	cmpl	$11, %esi
	je	.L10
.L47:
	leaq	(%r12,%r12,4), %rdx
	leaq	1(%rax,%rdx,2), %rdi
.L37:
	movq	%rcx, 64(%rsp)
	movq	%r11, 56(%rsp)
	movl	%r9d, 48(%rsp)
	movq	%r10, 40(%rsp)
	movl	%esi, 32(%rsp)
	call	dfs.part.0
	movq	64(%rsp), %rcx
	movq	56(%rsp), %r11
	movl	48(%rsp), %r9d
	movq	40(%rsp), %r10
	movl	32(%rsp), %esi
	jmp	.L10
	.p2align 4,,10
	.p2align 3
.L96:
	cmpl	$7, %r9d
	je	.L13
	leaq	0(%r13,%rdi), %rax
	leaq	-1(%rax), %r8
	movq	%rax, 40(%rsp)
	movq	%rax, 32(%rsp)
	movq	(%r15), %rax
	addq	$1, %rax
	movq	%rax, (%r15)
	movq	%r8, (%r15,%rax,8)
	movabsq	$7378697629483820647, %rax
	imulq	%r8
	movq	%rdx, %rax
	movq	%r8, %rdx
	sarq	$63, %rdx
	sarq	$2, %rax
	subq	%rdx, %rax
	leaq	(%rax,%rax,4), %rdx
	movq	%r8, %rax
	addq	%rdx, %rdx
	subq	%rdx, %rax
	leaq	-1(%rax), %rdx
	cmpq	$9, %rdx
	jbe	.L100
	cmpq	$9, %rax
	jbe	.L101
.L18:
	leaq	1(%rax), %rdx
	cmpq	$9, %rdx
	jbe	.L102
.L21:
	cmpq	$9, %r12
	jbe	.L43
	addq	$1, %r12
	cmpq	$9, %r12
	ja	.L10
	jmp	.L49
	.p2align 4,,10
	.p2align 3
.L97:
	cmpl	$7, %r9d
	je	.L10
	leaq	0(%r13,%rdi), %rax
	movq	%rax, 32(%rsp)
.L43:
	movq	(%r15), %rax
	movq	32(%rsp), %rdi
	addq	$1, %rax
	movq	%rax, (%r15)
	movq	%rdi, (%r15,%rax,8)
	movabsq	$7378697629483820647, %rax
	imulq	%rdi
	movq	%rdx, %rax
	movq	%rdi, %rdx
	sarq	$63, %rdx
	sarq	$2, %rax
	subq	%rdx, %rax
	leaq	(%rax,%rax,4), %rdx
	movq	%rdi, %rax
	addq	%rdx, %rdx
	subq	%rdx, %rax
	leaq	-1(%rax), %rdx
	cmpq	$9, %rdx
	jbe	.L103
	cmpq	$9, %rax
	jbe	.L104
.L27:
	leaq	1(%rax), %rdx
	cmpq	$9, %rdx
	jbe	.L105
.L30:
	addq	$1, %r12
	cmpq	$9, %r12
	ja	.L10
	movq	32(%rsp), %r12
	addq	$1, %r12
	jmp	.L39
.L100:
	cmpl	$11, %esi
	je	.L15
	leaq	(%r8,%r8,4), %rdx
	movq	%rcx, 104(%rsp)
	leaq	(%rax,%rdx,2), %rdx
	movq	%r11, 96(%rsp)
	leaq	-1(%rdx), %rdi
	movl	%r9d, 88(%rsp)
	movq	%r10, 80(%rsp)
	movq	%r8, 72(%rsp)
	movq	%rax, 64(%rsp)
	movq	%rdx, 56(%rsp)
	movl	%esi, 48(%rsp)
	call	dfs.part.0
	movq	64(%rsp), %rax
	movl	48(%rsp), %esi
	movq	56(%rsp), %rdx
	movq	72(%rsp), %r8
	cmpq	$9, %rax
	movq	80(%rsp), %r10
	movl	88(%rsp), %r9d
	movq	96(%rsp), %r11
	movq	104(%rsp), %rcx
	jbe	.L46
	leaq	1(%rax), %rdx
	cmpq	$9, %rdx
	ja	.L21
.L50:
	leaq	(%r8,%r8,4), %rdx
	leaq	1(%rax,%rdx,2), %rdi
.L45:
	movq	%rcx, 80(%rsp)
	movq	%r11, 72(%rsp)
	movl	%r9d, 64(%rsp)
	movq	%r10, 56(%rsp)
	movl	%esi, 48(%rsp)
	call	dfs.part.0
	movl	48(%rsp), %esi
	movq	56(%rsp), %r10
	movl	64(%rsp), %r9d
	movq	72(%rsp), %r11
	movq	80(%rsp), %rcx
	jmp	.L21
.L13:
	cmpq	$9, %rdi
	ja	.L22
	jmp	.L10
.L98:
	cmpl	$11, %esi
	je	.L10
	leaq	(%r12,%r12,4), %rdx
	movq	%rcx, 80(%rsp)
	leaq	(%rax,%rdx,2), %rdx
	movq	%r11, 72(%rsp)
	leaq	-1(%rdx), %rdi
	movl	%r9d, 64(%rsp)
	movq	%r10, 56(%rsp)
	movq	%rax, 48(%rsp)
	movq	%rdx, 40(%rsp)
	movl	%esi, 32(%rsp)
	call	dfs.part.0
	movq	48(%rsp), %rax
	movl	32(%rsp), %esi
	movq	40(%rsp), %rdx
	movq	56(%rsp), %r10
	cmpq	$9, %rax
	movl	64(%rsp), %r9d
	movq	72(%rsp), %r11
	movq	80(%rsp), %rcx
	jbe	.L38
	leaq	1(%rax), %rdx
	cmpq	$9, %rdx
	ja	.L10
	jmp	.L47
.L103:
	cmpl	$11, %esi
	je	.L24
	leaq	(%rdi,%rdi,4), %rdx
	movq	%rcx, 88(%rsp)
	leaq	(%rax,%rdx,2), %rdx
	movq	%r11, 80(%rsp)
	leaq	-1(%rdx), %rdi
	movl	%r9d, 72(%rsp)
	movq	%r10, 64(%rsp)
	movq	%rax, 56(%rsp)
	movq	%rdx, 48(%rsp)
	movl	%esi, 40(%rsp)
	call	dfs.part.0
	movq	56(%rsp), %rax
	movl	40(%rsp), %esi
	movq	48(%rsp), %rdx
	movq	64(%rsp), %r10
	cmpq	$9, %rax
	movl	72(%rsp), %r9d
	movq	80(%rsp), %r11
	movq	88(%rsp), %rcx
	jbe	.L42
	leaq	1(%rax), %rdx
	cmpq	$9, %rdx
	ja	.L30
.L48:
	movq	32(%rsp), %rdi
	leaq	(%rdi,%rdi,4), %rdx
	leaq	1(%rax,%rdx,2), %rdi
.L41:
	movq	%rcx, 72(%rsp)
	movq	%r11, 64(%rsp)
	movl	%r9d, 56(%rsp)
	movq	%r10, 48(%rsp)
	movl	%esi, 40(%rsp)
	call	dfs.part.0
	movl	40(%rsp), %esi
	movq	48(%rsp), %r10
	movl	56(%rsp), %r9d
	movq	64(%rsp), %r11
	movq	72(%rsp), %rcx
	jmp	.L30
.L99:
	cmpl	$11, %esi
	je	.L10
	leaq	(%r12,%r12,4), %rdx
	leaq	(%rax,%rdx,2), %rdx
.L38:
	movq	%rdx, %rdi
	movq	%rcx, 80(%rsp)
	movq	%r11, 72(%rsp)
	movl	%r9d, 64(%rsp)
	movq	%r10, 56(%rsp)
	movq	%rax, 48(%rsp)
	movl	%esi, 40(%rsp)
	movq	%rdx, 32(%rsp)
	call	dfs.part.0
	movq	48(%rsp), %rax
	movq	32(%rsp), %rdx
	movl	40(%rsp), %esi
	movq	56(%rsp), %r10
	addq	$1, %rax
	movl	64(%rsp), %r9d
	movq	72(%rsp), %r11
	cmpq	$9, %rax
	movq	80(%rsp), %rcx
	ja	.L10
	leaq	1(%rdx), %rdi
	jmp	.L37
.L104:
	cmpl	$11, %esi
	je	.L30
	leaq	(%rdi,%rdi,4), %rdx
	leaq	(%rax,%rdx,2), %rdx
.L42:
	movq	%rdx, %rdi
	movq	%rcx, 88(%rsp)
	movq	%r11, 80(%rsp)
	movl	%r9d, 72(%rsp)
	movq	%r10, 64(%rsp)
	movq	%rax, 56(%rsp)
	movl	%esi, 48(%rsp)
	movq	%rdx, 40(%rsp)
	call	dfs.part.0
	movq	56(%rsp), %rax
	movq	40(%rsp), %rdx
	movl	48(%rsp), %esi
	movq	64(%rsp), %r10
	addq	$1, %rax
	movl	72(%rsp), %r9d
	movq	80(%rsp), %r11
	cmpq	$9, %rax
	movq	88(%rsp), %rcx
	ja	.L30
	leaq	1(%rdx), %rdi
	jmp	.L41
.L101:
	cmpl	$11, %esi
	je	.L21
	leaq	(%r8,%r8,4), %rdx
	leaq	(%rax,%rdx,2), %rdx
.L46:
	movq	%rdx, %rdi
	movq	%rcx, 96(%rsp)
	movq	%r11, 88(%rsp)
	movl	%r9d, 80(%rsp)
	movq	%r10, 72(%rsp)
	movq	%rax, 64(%rsp)
	movl	%esi, 56(%rsp)
	movq	%rdx, 48(%rsp)
	call	dfs.part.0
	movq	64(%rsp), %rax
	movq	48(%rsp), %rdx
	movl	56(%rsp), %esi
	movq	72(%rsp), %r10
	addq	$1, %rax
	movl	80(%rsp), %r9d
	movq	88(%rsp), %r11
	cmpq	$9, %rax
	movq	96(%rsp), %rcx
	ja	.L21
	leaq	1(%rdx), %rdi
	jmp	.L45
.L102:
	cmpl	$11, %esi
	jne	.L50
	jmp	.L21
.L105:
	cmpl	$11, %esi
	jne	.L48
	jmp	.L30
.L15:
	cmpq	$9, %rax
	ja	.L18
	jmp	.L21
.L24:
	cmpq	$9, %rax
	ja	.L27
	jmp	.L30
	.cfi_endproc
.LFE26:
	.size	dfs.part.0, .-dfs.part.0
	.p2align 4
	.globl	dfs
	.type	dfs, @function
dfs:
.LFB23:
	.cfi_startproc
	endbr64
	cmpl	$10, %esi
	jg	.L194
	movabsq	$7378697629483820647, %r11
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	movq	%rdi, %rcx
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	leaq	lunlun(%rip), %r14
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	movl	%esi, %r12d
	leal	4(%rsi), %esi
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	movl	%r12d, %r8d
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	subq	$88, %rsp
	.cfi_def_cfa_offset 144
	movq	lunlun(%rip), %rax
	addq	$1, %rax
	movq	%rax, lunlun(%rip)
	movq	%rdi, (%r14,%rax,8)
	leaq	(%rdi,%rdi,4), %rax
	leaq	(%rax,%rax), %r10
	movq	%rdi, %rax
	imulq	%r11
	movq	%rdi, %rax
	sarq	$63, %rax
	sarq	$2, %rdx
	subq	%rax, %rdx
	leaq	(%rdx,%rdx,4), %rax
	addq	%rax, %rax
	subq	%rax, %rcx
	addq	%r10, %rcx
	leaq	2(%rcx), %r9
	leaq	-1(%rcx), %rbx
	movq	%r9, %r15
.L109:
	movq	%rbx, %rax
	subq	%r10, %rax
	cmpq	$9, %rax
	jbe	.L108
.L111:
	addq	$1, %rbx
	cmpq	%rbx, %r15
	jne	.L109
	addq	$88, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L108:
	.cfi_restore_state
	cmpl	$10, %r8d
	je	.L111
	movq	(%r14), %rax
	addq	$1, %rax
	movq	%rax, (%r14)
	movq	%rbx, (%r14,%rax,8)
	movq	%rbx, %rax
	imulq	%r11
	movq	%rbx, %rax
	sarq	$63, %rax
	sarq	$2, %rdx
	subq	%rax, %rdx
	leaq	(%rdx,%rdx,4), %rax
	movq	%rbx, %rdx
	addq	%rax, %rax
	subq	%rax, %rdx
	leaq	(%rbx,%rbx,4), %rax
	addq	%rax, %rax
	leaq	-1(%rdx), %rbp
	leaq	2(%rdx), %r9
	movq	%rax, (%rsp)
	addq	%rdx, %rax
	leaq	(%rax,%rax,4), %rax
	leaq	-10(%rax,%rax), %r13
	cmpq	$9, %rbp
	jbe	.L198
.L113:
	addq	$1, %rbp
	addq	$10, %r13
	cmpq	%r9, %rbp
	je	.L111
	cmpq	$9, %rbp
	ja	.L113
.L198:
	cmpl	$9, %r8d
	je	.L113
	movq	(%rsp), %rax
	leaq	0(%rbp,%rax), %rcx
	movq	(%r14), %rax
	addq	$1, %rax
	movq	%rax, (%r14)
	movq	%rcx, (%r14,%rax,8)
	movq	%rcx, %rax
	imulq	%r11
	movq	%rcx, %rax
	sarq	$63, %rax
	sarq	$2, %rdx
	subq	%rax, %rdx
	leaq	(%rdx,%rdx,4), %rax
	addq	%rax, %rax
	subq	%rax, %rcx
	leaq	-1(%rcx), %rax
	movq	%rcx, %r12
	cmpq	$9, %rax
	jbe	.L199
	cmpq	$9, %rcx
	jbe	.L200
.L125:
	leaq	1(%r12), %rax
	cmpq	$9, %rax
	ja	.L113
	cmpl	$8, %r8d
	je	.L113
	leaq	0(%r13,%r12), %rax
	movq	%rax, 16(%rsp)
.L152:
	movq	16(%rsp), %r12
	addq	$1, %r12
.L142:
	movq	(%r14), %rax
	addq	$1, %rax
	movq	%rax, (%r14)
	movq	%r12, (%r14,%rax,8)
	movq	%r12, %rax
	imulq	%r11
	movq	%r12, %rax
	sarq	$63, %rax
	sarq	$2, %rdx
	subq	%rax, %rdx
	leaq	(%rdx,%rdx,4), %rax
	movq	%r12, %rdx
	addq	%rax, %rax
	subq	%rax, %rdx
	leaq	-1(%rdx), %rax
	cmpq	$9, %rax
	jbe	.L201
	cmpq	$9, %rdx
	jbe	.L202
	leaq	1(%rdx), %rax
	cmpq	$9, %rax
	ja	.L113
	cmpl	$11, %esi
	je	.L113
.L150:
	leaq	(%r12,%r12,4), %rax
	leaq	1(%rdx,%rax,2), %rdi
.L140:
	movq	%r10, 32(%rsp)
	movl	%r8d, 24(%rsp)
	movq	%r9, 16(%rsp)
	movl	%esi, 8(%rsp)
	call	dfs.part.0
	movq	32(%rsp), %r10
	movl	24(%rsp), %r8d
	movabsq	$7378697629483820647, %r11
	movq	16(%rsp), %r9
	movl	8(%rsp), %esi
	jmp	.L113
	.p2align 4,,10
	.p2align 3
.L194:
	.cfi_def_cfa_offset 8
	.cfi_restore 3
	.cfi_restore 6
	.cfi_restore 12
	.cfi_restore 13
	.cfi_restore 14
	.cfi_restore 15
	ret
	.p2align 4,,10
	.p2align 3
.L199:
	.cfi_def_cfa_offset 144
	.cfi_offset 3, -56
	.cfi_offset 6, -48
	.cfi_offset 12, -40
	.cfi_offset 13, -32
	.cfi_offset 14, -24
	.cfi_offset 15, -16
	cmpl	$8, %r8d
	je	.L116
	leaq	0(%r13,%rcx), %rax
	leaq	-1(%rax), %rcx
	movq	%rax, 16(%rsp)
	movq	%rax, 8(%rsp)
	movq	(%r14), %rax
	addq	$1, %rax
	movq	%rax, (%r14)
	movq	%rcx, (%r14,%rax,8)
	movq	%rcx, %rax
	imulq	%r11
	movq	%rcx, %rax
	sarq	$63, %rax
	sarq	$2, %rdx
	subq	%rax, %rdx
	leaq	(%rdx,%rdx,4), %rax
	movq	%rcx, %rdx
	addq	%rax, %rax
	subq	%rax, %rdx
	leaq	-1(%rdx), %rax
	cmpq	$9, %rax
	jbe	.L203
	cmpq	$9, %rdx
	jbe	.L204
.L121:
	leaq	1(%rdx), %rax
	cmpq	$9, %rax
	jbe	.L205
.L124:
	cmpq	$9, %r12
	jbe	.L146
	addq	$1, %r12
	cmpq	$9, %r12
	ja	.L113
	jmp	.L152
	.p2align 4,,10
	.p2align 3
.L200:
	cmpl	$8, %r8d
	je	.L113
	leaq	0(%r13,%rcx), %rax
	movq	%rax, 8(%rsp)
.L146:
	movq	(%r14), %rax
	movq	8(%rsp), %rdi
	addq	$1, %rax
	movq	%rax, (%r14)
	movq	%rdi, (%r14,%rax,8)
	movq	%rdi, %rax
	imulq	%r11
	movq	%rdi, %rax
	sarq	$63, %rax
	sarq	$2, %rdx
	subq	%rax, %rdx
	leaq	(%rdx,%rdx,4), %rax
	addq	%rax, %rax
	subq	%rax, %rdi
	leaq	-1(%rdi), %rax
	movq	%rdi, %rdx
	cmpq	$9, %rax
	jbe	.L206
	cmpq	$9, %rdi
	jbe	.L207
.L130:
	leaq	1(%rdx), %rax
	cmpq	$9, %rax
	jbe	.L208
.L133:
	addq	$1, %r12
	cmpq	$9, %r12
	ja	.L113
	movq	8(%rsp), %r12
	addq	$1, %r12
	jmp	.L142
.L203:
	cmpl	$11, %esi
	je	.L118
	leaq	(%rcx,%rcx,4), %rax
	movq	%r10, 72(%rsp)
	leaq	(%rdx,%rax,2), %rax
	movl	%r8d, 64(%rsp)
	leaq	-1(%rax), %rdi
	movq	%r9, 56(%rsp)
	movq	%rcx, 48(%rsp)
	movq	%rdx, 40(%rsp)
	movq	%rax, 32(%rsp)
	movl	%esi, 24(%rsp)
	call	dfs.part.0
	movq	40(%rsp), %rdx
	movl	24(%rsp), %esi
	movabsq	$7378697629483820647, %r11
	movq	32(%rsp), %rax
	movq	48(%rsp), %rcx
	cmpq	$9, %rdx
	movq	56(%rsp), %r9
	movl	64(%rsp), %r8d
	movq	72(%rsp), %r10
	jbe	.L149
	leaq	1(%rdx), %rax
	cmpq	$9, %rax
	ja	.L124
.L153:
	leaq	(%rcx,%rcx,4), %rax
	leaq	1(%rdx,%rax,2), %rdi
.L148:
	movq	%r10, 48(%rsp)
	movl	%r8d, 40(%rsp)
	movq	%r9, 32(%rsp)
	movl	%esi, 24(%rsp)
	call	dfs.part.0
	movl	24(%rsp), %esi
	movq	32(%rsp), %r9
	movabsq	$7378697629483820647, %r11
	movl	40(%rsp), %r8d
	movq	48(%rsp), %r10
	jmp	.L124
	.p2align 4,,10
	.p2align 3
.L116:
	cmpq	$9, %rcx
	ja	.L125
	jmp	.L113
.L201:
	cmpl	$11, %esi
	je	.L113
	leaq	(%r12,%r12,4), %rax
	movq	%r10, 48(%rsp)
	leaq	(%rdx,%rax,2), %rax
	movl	%r8d, 40(%rsp)
	leaq	-1(%rax), %rdi
	movq	%r9, 32(%rsp)
	movq	%rdx, 24(%rsp)
	movq	%rax, 16(%rsp)
	movl	%esi, 8(%rsp)
	call	dfs.part.0
	movq	24(%rsp), %rdx
	movl	8(%rsp), %esi
	movabsq	$7378697629483820647, %r11
	movq	16(%rsp), %rax
	movq	32(%rsp), %r9
	cmpq	$9, %rdx
	movl	40(%rsp), %r8d
	movq	48(%rsp), %r10
	jbe	.L141
	leaq	1(%rdx), %rax
	cmpq	$9, %rax
	ja	.L113
	jmp	.L150
.L206:
	cmpl	$11, %esi
	je	.L127
	movq	8(%rsp), %rax
	movq	%rdi, 32(%rsp)
	movq	%r10, 56(%rsp)
	leaq	(%rax,%rax,4), %rax
	movl	%r8d, 48(%rsp)
	leaq	(%rdi,%rax,2), %rax
	movq	%r9, 40(%rsp)
	leaq	-1(%rax), %rdi
	movq	%rax, 24(%rsp)
	movl	%esi, 16(%rsp)
	call	dfs.part.0
	movq	32(%rsp), %rdx
	movl	16(%rsp), %esi
	movabsq	$7378697629483820647, %r11
	movq	24(%rsp), %rax
	movq	40(%rsp), %r9
	cmpq	$9, %rdx
	movl	48(%rsp), %r8d
	movq	56(%rsp), %r10
	jbe	.L145
	leaq	1(%rdx), %rax
	cmpq	$9, %rax
	ja	.L133
.L151:
	movq	8(%rsp), %rax
	leaq	(%rax,%rax,4), %rax
	leaq	1(%rdx,%rax,2), %rdi
.L144:
	movq	%r10, 40(%rsp)
	movl	%r8d, 32(%rsp)
	movq	%r9, 24(%rsp)
	movl	%esi, 16(%rsp)
	call	dfs.part.0
	movl	16(%rsp), %esi
	movq	24(%rsp), %r9
	movabsq	$7378697629483820647, %r11
	movl	32(%rsp), %r8d
	movq	40(%rsp), %r10
	jmp	.L133
.L202:
	cmpl	$11, %esi
	je	.L113
	leaq	(%r12,%r12,4), %rax
	leaq	(%rdx,%rax,2), %rax
.L141:
	movq	%rax, %rdi
	movq	%r10, 48(%rsp)
	movl	%r8d, 40(%rsp)
	movq	%r9, 32(%rsp)
	movq	%rdx, 24(%rsp)
	movl	%esi, 16(%rsp)
	movq	%rax, 8(%rsp)
	call	dfs.part.0
	movq	24(%rsp), %rdx
	movq	8(%rsp), %rax
	movabsq	$7378697629483820647, %r11
	movl	16(%rsp), %esi
	movq	32(%rsp), %r9
	addq	$1, %rdx
	movl	40(%rsp), %r8d
	movq	48(%rsp), %r10
	cmpq	$9, %rdx
	ja	.L113
	leaq	1(%rax), %rdi
	jmp	.L140
.L204:
	cmpl	$11, %esi
	je	.L124
	leaq	(%rcx,%rcx,4), %rax
	leaq	(%rdx,%rax,2), %rax
.L149:
	movq	%rax, %rdi
	movq	%r10, 64(%rsp)
	movl	%r8d, 56(%rsp)
	movq	%r9, 48(%rsp)
	movq	%rdx, 40(%rsp)
	movl	%esi, 32(%rsp)
	movq	%rax, 24(%rsp)
	call	dfs.part.0
	movq	40(%rsp), %rdx
	movq	24(%rsp), %rax
	movabsq	$7378697629483820647, %r11
	movl	32(%rsp), %esi
	movq	48(%rsp), %r9
	addq	$1, %rdx
	movl	56(%rsp), %r8d
	movq	64(%rsp), %r10
	cmpq	$9, %rdx
	ja	.L124
	leaq	1(%rax), %rdi
	jmp	.L148
.L207:
	cmpl	$11, %esi
	je	.L133
	movq	8(%rsp), %rax
	leaq	(%rax,%rax,4), %rax
	leaq	(%rdi,%rax,2), %rax
.L145:
	movq	%rax, %rdi
	movq	%r10, 56(%rsp)
	movl	%r8d, 48(%rsp)
	movq	%r9, 40(%rsp)
	movq	%rdx, 32(%rsp)
	movl	%esi, 24(%rsp)
	movq	%rax, 16(%rsp)
	call	dfs.part.0
	movq	32(%rsp), %rdx
	movq	16(%rsp), %rax
	movabsq	$7378697629483820647, %r11
	movl	24(%rsp), %esi
	movq	40(%rsp), %r9
	addq	$1, %rdx
	movl	48(%rsp), %r8d
	movq	56(%rsp), %r10
	cmpq	$9, %rdx
	ja	.L133
	leaq	1(%rax), %rdi
	jmp	.L144
.L205:
	cmpl	$11, %esi
	jne	.L153
	jmp	.L124
.L208:
	cmpl	$11, %esi
	jne	.L151
	jmp	.L133
.L127:
	cmpq	$9, %rdi
	ja	.L130
	jmp	.L133
.L118:
	cmpq	$9, %rdx
	ja	.L121
	jmp	.L124
	.cfi_endproc
.LFE23:
	.size	dfs, .-dfs
	.p2align 4
	.globl	quick
	.type	quick, @function
quick:
.LFB25:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	movslq	%esi, %rax
	movq	%rdi, %r15
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	movl	%edx, %ebp
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	movq	%rax, %rbx
	subq	$168, %rsp
	.cfi_def_cfa_offset 224
	movl	%eax, 92(%rsp)
	leaq	(%rdi,%rax,8), %rax
	movq	%rax, 96(%rsp)
	leal	1(%rbx), %eax
	movl	%eax, 136(%rsp)
.L216:
	movl	92(%rsp), %edi
	movl	136(%rsp), %r9d
	movq	96(%rsp), %r8
	movl	%edi, %edx
	addl	%ebp, %edx
	movl	%edx, %eax
	shrl	$31, %eax
	addl	%edx, %eax
	movl	%ebp, %edx
	sarl	%eax
	cltq
	movq	(%r15,%rax,8), %rsi
	movslq	%ebp, %rax
.L210:
	movq	(%r8), %r11
	leaq	(%r15,%rax,8), %r10
	movl	%edi, %ebx
	movq	(%r10), %rcx
	cmpq	%rsi, %r11
	jl	.L211
	cmpq	%rcx, %rsi
	jge	.L212
	leaq	-8(%r15,%rax,8), %rax
	.p2align 4,,10
	.p2align 3
.L213:
	movq	%rax, %r10
	movq	(%rax), %rcx
	subq	$8, %rax
	subl	$1, %edx
	cmpq	%rsi, %rcx
	jg	.L213
.L212:
	cmpl	%edx, %edi
	jle	.L311
.L214:
	movl	%ebx, 36(%rsp)
	movl	%edx, 68(%rsp)
	cmpl	%ebx, %ebp
	jg	.L215
.L225:
	movl	68(%rsp), %ebx
	cmpl	%ebx, 92(%rsp)
	jge	.L312
	movl	%ebx, %ebp
	jmp	.L216
.L311:
	subl	$1, %edx
	movq	%rcx, (%r8)
	movl	%r9d, %ebx
	movq	%r11, (%r10)
	cmpl	%edx, %r9d
	jg	.L214
	movslq	%edx, %rax
.L211:
	addq	$8, %r8
	addl	$1, %r9d
	addl	$1, %edi
	jmp	.L210
.L215:
	movslq	%ebx, %rax
	leaq	(%r15,%rax,8), %rax
	movq	%rax, 104(%rsp)
	leal	1(%rbx), %eax
	movl	%eax, 140(%rsp)
.L224:
	movl	36(%rsp), %edi
	movl	%ebp, %edx
	movq	104(%rsp), %r8
	movl	140(%rsp), %r9d
	addl	%edi, %edx
	movl	%edx, %eax
	shrl	$31, %eax
	addl	%edx, %eax
	movl	%ebp, %edx
	sarl	%eax
	cltq
	movq	(%r15,%rax,8), %rsi
	movslq	%ebp, %rax
	.p2align 4,,10
	.p2align 3
.L218:
	movq	(%r8), %r11
	leaq	(%r15,%rax,8), %r10
	movl	%edi, %ebx
	movq	(%r10), %rcx
	cmpq	%r11, %rsi
	jg	.L219
	cmpq	%rcx, %rsi
	jge	.L220
	leaq	-8(%r15,%rax,8), %rax
	.p2align 4,,10
	.p2align 3
.L221:
	movq	%rax, %r10
	movq	(%rax), %rcx
	subq	$8, %rax
	subl	$1, %edx
	cmpq	%rcx, %rsi
	jl	.L221
.L220:
	cmpl	%edx, %edi
	jle	.L313
.L222:
	movl	%ebx, 40(%rsp)
	movl	%edx, 72(%rsp)
	cmpl	%ebx, %ebp
	jg	.L223
.L233:
	movl	72(%rsp), %ebx
	cmpl	%ebx, 36(%rsp)
	jge	.L225
	movl	%ebx, %ebp
	jmp	.L224
.L313:
	subl	$1, %edx
	movq	%rcx, (%r8)
	movl	%r9d, %ebx
	movq	%r11, (%r10)
	cmpl	%edx, %r9d
	jg	.L222
	movslq	%edx, %rax
.L219:
	addq	$8, %r8
	addl	$1, %r9d
	addl	$1, %edi
	jmp	.L218
.L223:
	movslq	%ebx, %rax
	leaq	(%r15,%rax,8), %rax
	movq	%rax, 112(%rsp)
	leal	1(%rbx), %eax
	movl	%eax, 144(%rsp)
.L232:
	movl	40(%rsp), %edi
	movl	%ebp, %edx
	movq	112(%rsp), %r8
	movl	144(%rsp), %r9d
	addl	%edi, %edx
	movl	%edx, %eax
	shrl	$31, %eax
	addl	%edx, %eax
	movl	%ebp, %edx
	sarl	%eax
	cltq
	movq	(%r15,%rax,8), %rsi
	movslq	%ebp, %rax
	.p2align 4,,10
	.p2align 3
.L226:
	movq	(%r8), %r11
	leaq	(%r15,%rax,8), %r10
	movl	%edi, %ebx
	movq	(%r10), %rcx
	cmpq	%r11, %rsi
	jg	.L227
	cmpq	%rcx, %rsi
	jge	.L228
	leaq	-8(%r15,%rax,8), %rax
	.p2align 4,,10
	.p2align 3
.L229:
	movq	%rax, %r10
	movq	(%rax), %rcx
	subq	$8, %rax
	subl	$1, %edx
	cmpq	%rcx, %rsi
	jl	.L229
.L228:
	cmpl	%edx, %edi
	jle	.L314
.L230:
	movl	%ebx, 44(%rsp)
	movl	%edx, 76(%rsp)
	cmpl	%ebx, %ebp
	jg	.L231
.L241:
	movl	76(%rsp), %ebx
	cmpl	%ebx, 40(%rsp)
	jge	.L233
	movl	%ebx, %ebp
	jmp	.L232
.L314:
	subl	$1, %edx
	movq	%rcx, (%r8)
	movl	%r9d, %ebx
	movq	%r11, (%r10)
	cmpl	%edx, %r9d
	jg	.L230
	movslq	%edx, %rax
.L227:
	addq	$8, %r8
	addl	$1, %r9d
	addl	$1, %edi
	jmp	.L226
.L231:
	movslq	%ebx, %rax
	leaq	(%r15,%rax,8), %rax
	movq	%rax, 120(%rsp)
	leal	1(%rbx), %eax
	movl	%eax, 132(%rsp)
.L240:
	movl	44(%rsp), %edi
	movl	%ebp, %edx
	movq	120(%rsp), %r8
	movl	132(%rsp), %r9d
	addl	%edi, %edx
	movl	%edx, %eax
	shrl	$31, %eax
	addl	%edx, %eax
	movl	%ebp, %edx
	sarl	%eax
	cltq
	movq	(%r15,%rax,8), %rsi
	movslq	%ebp, %rax
	.p2align 4,,10
	.p2align 3
.L234:
	movq	(%r8), %r11
	leaq	(%r15,%rax,8), %r10
	movl	%edi, %ebx
	movq	(%r10), %rcx
	cmpq	%r11, %rsi
	jg	.L235
	cmpq	%rcx, %rsi
	jge	.L236
	leaq	-8(%r15,%rax,8), %rax
	.p2align 4,,10
	.p2align 3
.L237:
	movq	%rax, %r10
	movq	(%rax), %rcx
	subq	$8, %rax
	subl	$1, %edx
	cmpq	%rcx, %rsi
	jl	.L237
.L236:
	cmpl	%edx, %edi
	jle	.L315
.L238:
	movl	%ebx, 20(%rsp)
	movl	%edx, 88(%rsp)
	cmpl	%ebx, %ebp
	jg	.L239
.L249:
	movl	88(%rsp), %ebx
	cmpl	%ebx, 44(%rsp)
	jge	.L241
	movl	%ebx, %ebp
	jmp	.L240
.L315:
	subl	$1, %edx
	movq	%rcx, (%r8)
	movl	%r9d, %ebx
	movq	%r11, (%r10)
	cmpl	%edx, %r9d
	jg	.L238
	movslq	%edx, %rax
.L235:
	addq	$8, %r8
	addl	$1, %r9d
	addl	$1, %edi
	jmp	.L234
.L239:
	movslq	%ebx, %rax
	leaq	(%r15,%rax,8), %rax
	movq	%rax, 80(%rsp)
	leal	1(%rbx), %eax
	movl	%eax, 128(%rsp)
.L248:
	movl	20(%rsp), %edi
	movl	%ebp, %edx
	movq	80(%rsp), %r8
	movl	%ebp, %r14d
	movl	128(%rsp), %r9d
	addl	%edi, %edx
	movl	%edx, %eax
	shrl	$31, %eax
	addl	%edx, %eax
	sarl	%eax
	cltq
	movq	(%r15,%rax,8), %rsi
	movslq	%ebp, %rax
	.p2align 4,,10
	.p2align 3
.L242:
	movq	(%r8), %r10
	leaq	(%r15,%rax,8), %rcx
	movl	%edi, %r11d
	movq	(%rcx), %rdx
	cmpq	%r10, %rsi
	jg	.L243
	cmpq	%rdx, %rsi
	jge	.L244
	leaq	-8(%r15,%rax,8), %rax
	.p2align 4,,10
	.p2align 3
.L245:
	movq	%rax, %rcx
	movq	(%rax), %rdx
	subq	$8, %rax
	subl	$1, %r14d
	cmpq	%rdx, %rsi
	jl	.L245
.L244:
	cmpl	%r14d, %edi
	jle	.L316
.L246:
	movl	%r11d, 4(%rsp)
	cmpl	%r11d, %ebp
	jg	.L247
.L257:
	cmpl	%r14d, 20(%rsp)
	jge	.L249
	movl	%r14d, %ebp
	jmp	.L248
	.p2align 4,,10
	.p2align 3
.L316:
	subl	$1, %r14d
	movq	%rdx, (%r8)
	movl	%r9d, %r11d
	movq	%r10, (%rcx)
	cmpl	%r14d, %r9d
	jg	.L246
	movslq	%r14d, %rax
.L243:
	addq	$8, %r8
	addl	$1, %r9d
	addl	$1, %edi
	jmp	.L242
.L247:
	movslq	%r11d, %rax
	movl	%r14d, 148(%rsp)
	movq	%rax, %rbx
	leaq	(%r15,%rax,8), %rax
	movq	%rax, 48(%rsp)
	leal	1(%rbx), %eax
	movl	%eax, 56(%rsp)
.L256:
	movl	4(%rsp), %edi
	movl	%ebp, %edx
	movl	56(%rsp), %r9d
	movl	%ebp, %r14d
	movq	48(%rsp), %r8
	addl	%edi, %edx
	movl	%edx, %eax
	shrl	$31, %eax
	addl	%edx, %eax
	sarl	%eax
	cltq
	movq	(%r15,%rax,8), %rsi
	movslq	%ebp, %rax
	.p2align 4,,10
	.p2align 3
.L250:
	movq	(%r8), %r10
	leaq	(%r15,%rax,8), %rcx
	movl	%edi, %r11d
	movq	(%rcx), %rdx
	cmpq	%r10, %rsi
	jg	.L251
	cmpq	%rdx, %rsi
	jge	.L252
	leaq	-8(%r15,%rax,8), %rax
	.p2align 4,,10
	.p2align 3
.L253:
	movq	%rax, %rcx
	movq	(%rax), %rdx
	subq	$8, %rax
	subl	$1, %r14d
	cmpq	%rdx, %rsi
	jl	.L253
.L252:
	cmpl	%edi, %r14d
	jge	.L317
.L254:
	movl	%r11d, (%rsp)
	cmpl	%r11d, %ebp
	jg	.L255
	cmpl	%r14d, 4(%rsp)
	jge	.L318
.L287:
	movl	%r14d, %ebp
	jmp	.L256
	.p2align 4,,10
	.p2align 3
.L317:
	subl	$1, %r14d
	movq	%rdx, (%r8)
	movl	%r9d, %r11d
	movq	%r10, (%rcx)
	cmpl	%r14d, %r9d
	jg	.L254
	movslq	%r14d, %rax
.L251:
	addq	$8, %r8
	addl	$1, %r9d
	addl	$1, %edi
	jmp	.L250
.L255:
	movslq	%r11d, %rax
	movl	%r14d, 152(%rsp)
	movq	%r15, %r14
	movq	%rax, %rbx
	leaq	(%r15,%rax,8), %rax
	movq	%rax, 24(%rsp)
	leal	1(%rbx), %eax
	movl	%eax, 32(%rsp)
.L264:
	movl	(%rsp), %edi
	movl	%ebp, %edx
	movl	32(%rsp), %r9d
	movl	%ebp, %r12d
	movq	24(%rsp), %r8
	addl	%edi, %edx
	movl	%edx, %eax
	shrl	$31, %eax
	addl	%edx, %eax
	sarl	%eax
	cltq
	movq	(%r14,%rax,8), %rsi
	movslq	%ebp, %rax
	.p2align 4,,10
	.p2align 3
.L258:
	movq	(%r8), %r10
	leaq	(%r14,%rax,8), %rcx
	movl	%edi, %r15d
	movq	(%rcx), %rdx
	cmpq	%r10, %rsi
	jg	.L259
	cmpq	%rdx, %rsi
	jge	.L260
	leaq	-8(%r14,%rax,8), %rax
	.p2align 4,,10
	.p2align 3
.L261:
	movq	%rax, %rcx
	movq	(%rax), %rdx
	subq	$8, %rax
	subl	$1, %r12d
	cmpq	%rdx, %rsi
	jl	.L261
.L260:
	cmpl	%r12d, %edi
	jle	.L319
.L262:
	cmpl	%r15d, %ebp
	jg	.L263
	cmpl	%r12d, (%rsp)
	jge	.L320
.L288:
	movl	%r12d, %ebp
	jmp	.L264
	.p2align 4,,10
	.p2align 3
.L319:
	subl	$1, %r12d
	movq	%rdx, (%r8)
	movl	%r9d, %r15d
	movq	%r10, (%rcx)
	cmpl	%r12d, %r9d
	jg	.L262
	movslq	%r12d, %rax
.L259:
	addq	$8, %r8
	addl	$1, %r9d
	addl	$1, %edi
	jmp	.L258
.L263:
	movslq	%r15d, %rax
	movl	%r12d, 156(%rsp)
	movl	%ebp, %r13d
	leaq	(%r14,%rax,8), %rax
	movq	%rax, 8(%rsp)
	leal	1(%r15), %eax
	movl	%eax, 16(%rsp)
.L272:
	leal	0(%r13,%r15), %edx
	movl	16(%rsp), %r9d
	movl	%r15d, %edi
	movl	%r13d, %ebp
	movl	%edx, %eax
	movq	8(%rsp), %r8
	shrl	$31, %eax
	addl	%edx, %eax
	sarl	%eax
	cltq
	movq	(%r14,%rax,8), %rsi
	movslq	%r13d, %rax
	.p2align 4,,10
	.p2align 3
.L266:
	movq	(%r8), %r10
	leaq	(%r14,%rax,8), %rcx
	movl	%edi, %r12d
	movq	(%rcx), %rdx
	cmpq	%r10, %rsi
	jg	.L267
	cmpq	%rdx, %rsi
	jge	.L268
	leaq	-8(%r14,%rax,8), %rax
	.p2align 4,,10
	.p2align 3
.L269:
	movq	%rax, %rcx
	movq	(%rax), %rdx
	subq	$8, %rax
	subl	$1, %ebp
	cmpq	%rdx, %rsi
	jl	.L269
.L268:
	cmpl	%ebp, %edi
	jle	.L321
.L270:
	cmpl	%r12d, %r13d
	jg	.L271
	cmpl	%ebp, %r15d
	jge	.L322
.L289:
	movl	%ebp, %r13d
	jmp	.L272
	.p2align 4,,10
	.p2align 3
.L321:
	subl	$1, %ebp
	movq	%rdx, (%r8)
	movl	%r9d, %r12d
	movq	%r10, (%rcx)
	cmpl	%ebp, %r9d
	jg	.L270
	movslq	%ebp, %rax
.L267:
	addq	$8, %r8
	addl	$1, %r9d
	addl	$1, %edi
	jmp	.L266
.L271:
	movslq	%r12d, %rax
	leal	1(%r12), %ebx
	movl	%r15d, 60(%rsp)
	leaq	(%r14,%rax,8), %rax
	movl	%ebp, 64(%rsp)
	movl	%ebx, %r15d
	movq	%rax, %rbp
.L280:
	leal	0(%r13,%r12), %edx
	movl	%r15d, %r9d
	movl	%r12d, %edi
	movq	%rbp, %r8
	movl	%edx, %eax
	movl	%r13d, %ebx
	shrl	$31, %eax
	addl	%edx, %eax
	sarl	%eax
	cltq
	movq	(%r14,%rax,8), %rsi
	movslq	%r13d, %rax
	.p2align 4,,10
	.p2align 3
.L274:
	movq	(%r8), %r10
	leaq	(%r14,%rax,8), %rcx
	movl	%edi, %r11d
	movq	(%rcx), %rdx
	cmpq	%r10, %rsi
	jg	.L275
	cmpq	%rdx, %rsi
	jge	.L276
	leaq	-8(%r14,%rax,8), %rax
	.p2align 4,,10
	.p2align 3
.L277:
	movq	%rax, %rcx
	movq	(%rax), %rdx
	subq	$8, %rax
	subl	$1, %ebx
	cmpq	%rdx, %rsi
	jl	.L277
.L276:
	cmpl	%edi, %ebx
	jge	.L323
.L278:
	cmpl	%r11d, %r13d
	jg	.L324
.L279:
	cmpl	%ebx, %r12d
	jge	.L325
	movl	%ebx, %r13d
	jmp	.L280
	.p2align 4,,10
	.p2align 3
.L323:
	subl	$1, %ebx
	movq	%rdx, (%r8)
	movl	%r9d, %r11d
	movq	%r10, (%rcx)
	cmpl	%ebx, %r9d
	jg	.L278
	movslq	%ebx, %rax
.L275:
	addq	$8, %r8
	addl	$1, %r9d
	addl	$1, %edi
	jmp	.L274
.L325:
	movl	60(%rsp), %r15d
	movl	64(%rsp), %ebp
	cmpl	%ebp, %r15d
	jl	.L289
.L322:
	movl	156(%rsp), %r12d
	cmpl	%r12d, (%rsp)
	jl	.L288
.L320:
	movq	%r14, %r15
	movl	152(%rsp), %r14d
	cmpl	%r14d, 4(%rsp)
	jl	.L287
.L318:
	movl	148(%rsp), %r14d
	jmp	.L257
.L324:
	movl	%r13d, %edx
	movl	%r11d, %esi
	movq	%r14, %rdi
	call	quick
	jmp	.L279
.L312:
	addq	$168, %rsp
	.cfi_def_cfa_offset 56
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE25:
	.size	quick, .-quick
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"%d"
.LC1:
	.string	"%ld\n"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB24:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	leaq	.LC0(%rip), %rdi
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	subq	$120, %rsp
	.cfi_def_cfa_offset 176
	movq	%fs:40, %rax
	movq	%rax, 104(%rsp)
	xorl	%eax, %eax
	leaq	100(%rsp), %rsi
	call	__isoc99_scanf@PLT
	movq	$-10, %r9
	movq	$1, 16(%rsp)
	movl	$13, %r10d
	leaq	lunlun(%rip), %r11
	movq	%r9, %r8
	.p2align 4,,10
	.p2align 3
.L371:
	movq	(%r11), %rax
	movq	16(%rsp), %rdi
	leaq	-3(%r10), %r9
	movq	%r8, %r15
	movq	%r9, %rbx
	addq	$1, %rax
	movq	%rax, (%r11)
	movq	%rdi, (%r11,%rax,8)
.L328:
	leaq	(%rbx,%r15), %rax
	cmpq	$9, %rax
	jbe	.L327
.L332:
	addq	$1, %rbx
	cmpq	%r10, %rbx
	jne	.L328
	movq	%r15, %r8
	addq	$1, 16(%rsp)
	leaq	11(%rbx), %r10
	subq	$10, %r8
	cmpq	$101, %rbx
	jne	.L371
	movl	lunlun(%rip), %edx
	movq	%r11, %rdi
	movl	$1, %esi
	call	quick
	movslq	100(%rsp), %rax
	movl	$1, %edi
	leaq	lunlun(%rip), %r11
	leaq	.LC1(%rip), %rsi
	movq	(%r11,%rax,8), %rdx
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	104(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L407
	addq	$120, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	xorl	%eax, %eax
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L327:
	.cfi_restore_state
	movq	(%r11), %rax
	movq	%rbx, 32(%rsp)
	movq	%r15, %r8
	addq	$1, %rax
	movq	%rax, (%r11)
	movq	%rbx, (%r11,%rax,8)
	leaq	(%rbx,%rbx,4), %rax
	leaq	(%rax,%rax), %r9
	movabsq	$-3689348814741910323, %rax
	mulq	%rbx
	movq	%rbx, %rax
	movq	%r9, %r15
	shrq	$3, %rdx
	leaq	(%rdx,%rdx,4), %rdx
	addq	%rdx, %rdx
	subq	%rdx, %rax
	addq	%r9, %rax
	leaq	-1(%rax), %rbp
	addq	$2, %rax
	movq	%rax, 8(%rsp)
.L331:
	movq	%rbp, %rax
	subq	%r15, %rax
	cmpq	$9, %rax
	jbe	.L330
.L335:
	addq	$1, %rbp
	cmpq	%rbp, 8(%rsp)
	jne	.L331
	movq	32(%rsp), %rbx
	movq	%r8, %r15
	jmp	.L332
	.p2align 4,,10
	.p2align 3
.L330:
	movq	(%r11), %rax
	movq	%r8, 48(%rsp)
	movq	%r10, %r14
	movq	%rbp, 40(%rsp)
	addq	$1, %rax
	movq	%rax, (%r11)
	movq	%rbp, (%r11,%rax,8)
	leaq	0(%rbp,%rbp,4), %rax
	leaq	(%rax,%rax), %rcx
	movabsq	$-3689348814741910323, %rax
	mulq	%rbp
	movq	%rbp, %rax
	movq	%rcx, %rbp
	shrq	$3, %rdx
	leaq	(%rdx,%rdx,4), %rdx
	addq	%rdx, %rdx
	subq	%rdx, %rax
	addq	%rcx, %rax
	leaq	-1(%rax), %r12
	addq	$2, %rax
	movq	%rax, 24(%rsp)
.L334:
	movq	%r12, %rax
	subq	%rbp, %rax
	cmpq	$9, %rax
	jbe	.L333
.L370:
	addq	$1, %r12
	cmpq	%r12, 24(%rsp)
	jne	.L334
	movq	40(%rsp), %rbp
	movq	48(%rsp), %r8
	movq	%r14, %r10
	jmp	.L335
	.p2align 4,,10
	.p2align 3
.L333:
	movq	(%r11), %rax
	movq	%r12, %r13
	addq	$1, %rax
	movq	%rax, (%r11)
	movq	%r12, (%r11,%rax,8)
	movabsq	$-3689348814741910323, %rax
	mulq	%r12
	shrq	$3, %rdx
	leaq	(%rdx,%rdx,4), %rax
	addq	%rax, %rax
	subq	%rax, %r13
	leaq	(%r12,%r12,4), %rax
	leaq	-1(%r13), %rdx
	leaq	0(%r13,%rax,2), %rbx
	movq	(%r11), %rax
	cmpq	$9, %rdx
	jbe	.L408
.L342:
	movq	(%r11), %rax
	movq	%rbx, %r9
	addq	$1, %rax
	movq	%rax, (%r11)
	movq	%rbx, (%r11,%rax,8)
	movabsq	$7378697629483820647, %rax
	imulq	%rbx
	movq	%rbx, %rax
	sarq	$63, %rax
	sarq	$2, %rdx
	subq	%rax, %rdx
	leaq	(%rdx,%rdx,4), %rax
	addq	%rax, %rax
	subq	%rax, %r9
	leaq	(%rbx,%rbx,4), %rax
	leaq	(%r9,%rax,2), %r10
	leaq	-1(%r9), %rax
	cmpq	$9, %rax
	jbe	.L349
.L359:
	movq	(%r11), %rax
	movl	$10, %ecx
	addq	$1, %rax
	movq	%rax, (%r11)
	movq	%r10, (%r11,%rax,8)
	movq	%r10, %rax
	cqto
	idivq	%rcx
	imulq	$10, %r10, %rax
	movq	%rax, 56(%rsp)
	leaq	-1(%rdx), %rsi
	addq	%rdx, %rax
	cmpq	$9, %rsi
	jbe	.L351
.L358:
	movq	%rax, %rdi
	movl	$7, %esi
	movq	%rdx, 88(%rsp)
	movq	%r9, 80(%rsp)
	movq	%r10, 72(%rsp)
	movq	%rax, 64(%rsp)
	call	dfs
	movq	88(%rsp), %rdx
	movq	64(%rsp), %rax
	leaq	lunlun(%rip), %r11
	movq	72(%rsp), %r10
	movq	80(%rsp), %r9
	cmpq	$9, %rdx
	jne	.L352
.L357:
	movq	(%r11), %rdx
	cmpq	$9, %r9
	jne	.L409
.L355:
	movq	(%r11), %rax
	cmpq	$9, %r13
	je	.L370
	addq	$1, %rbx
	addq	$1, %rax
	movq	%rax, (%r11)
	movq	%rbx, %r13
	movq	%rbx, (%r11,%rax,8)
	movabsq	$-3689348814741910323, %rax
	mulq	%rbx
	shrq	$3, %rdx
	leaq	(%rdx,%rdx,4), %rax
	addq	%rax, %rax
	subq	%rax, %r13
	leaq	(%rbx,%rbx,4), %rax
	leaq	0(%r13,%rax,2), %r9
	leaq	-1(%r13), %rax
	cmpq	$9, %rax
	jbe	.L410
.L366:
	movq	(%r11), %rax
	movl	$10, %ecx
	imulq	$10, %r9, %rbx
	addq	$1, %rax
	movq	%rax, (%r11)
	movq	%r9, (%r11,%rax,8)
	movq	%r9, %rax
	cqto
	idivq	%rcx
	leaq	-1(%rdx), %rsi
	leaq	(%rdx,%rbx), %rax
	cmpq	$9, %rsi
	jbe	.L411
.L367:
	movq	%rax, %rdi
	movl	$7, %esi
	movq	%rdx, 72(%rsp)
	movq	%r9, 64(%rsp)
	movq	%rax, 56(%rsp)
	call	dfs
	movq	72(%rsp), %rdx
	movq	56(%rsp), %rax
	leaq	lunlun(%rip), %r11
	movq	64(%rsp), %r9
	cmpq	$9, %rdx
	jne	.L412
.L374:
	movq	(%r11), %rdx
	cmpq	$9, %r13
	je	.L370
	leaq	1(%r9), %rax
	addq	$1, %rdx
	movl	$10, %ecx
	movq	%rdx, (%r11)
	movq	%rax, (%r11,%rdx,8)
	cqto
	idivq	%rcx
	leaq	-1(%rdx), %rax
	movq	%rdx, %r13
	leaq	10(%rbx,%rdx), %rbx
	cmpq	$9, %rax
	jbe	.L413
.L369:
	movl	$7, %esi
	movq	%rbx, %rdi
	call	dfs
	cmpq	$9, %r13
	leaq	lunlun(%rip), %r11
	je	.L370
	leaq	1(%rbx), %rdi
	movl	$7, %esi
	call	dfs
	leaq	lunlun(%rip), %r11
	jmp	.L370
	.p2align 4,,10
	.p2align 3
.L408:
	leaq	-1(%rbx), %rsi
	addq	$1, %rax
	movq	%rax, (%r11)
	movq	%rsi, %r9
	movq	%rsi, (%r11,%rax,8)
	movabsq	$-3689348814741910323, %rax
	mulq	%rsi
	shrq	$3, %rdx
	leaq	(%rdx,%rdx,4), %rax
	addq	%rax, %rax
	subq	%rax, %r9
	leaq	(%rsi,%rsi,4), %rax
	leaq	(%r9,%rax,2), %r10
	leaq	-1(%r9), %rax
	cmpq	$9, %rax
	jbe	.L337
.L346:
	movq	(%r11), %rax
	movl	$10, %ecx
	addq	$1, %rax
	movq	%rax, (%r11)
	movq	%r10, (%r11,%rax,8)
	movq	%r10, %rax
	cqto
	idivq	%rcx
	imulq	$10, %r10, %rax
	movq	%rax, 56(%rsp)
	leaq	-1(%rdx), %rsi
	addq	%rdx, %rax
	cmpq	$9, %rsi
	jbe	.L339
.L345:
	movq	%rax, %rdi
	movl	$7, %esi
	movq	%rdx, 88(%rsp)
	movq	%r9, 80(%rsp)
	movq	%r10, 72(%rsp)
	movq	%rax, 64(%rsp)
	call	dfs
	movq	88(%rsp), %rdx
	movq	64(%rsp), %rax
	leaq	lunlun(%rip), %r11
	movq	72(%rsp), %r10
	movq	80(%rsp), %r9
	cmpq	$9, %rdx
	jne	.L340
.L344:
	movq	(%r11), %rdx
	cmpq	$9, %r9
	je	.L342
	leaq	1(%r10), %rax
	addq	$1, %rdx
	movl	$10, %ecx
	movq	%rdx, (%r11)
	movq	%rax, (%r11,%rdx,8)
	cqto
	idivq	%rcx
	movq	56(%rsp), %rax
	leaq	-1(%rdx), %rsi
	leaq	10(%rax,%rdx), %rax
	cmpq	$9, %rsi
	jbe	.L341
.L343:
	movq	%rax, %rdi
	movl	$7, %esi
	movq	%rdx, 64(%rsp)
	movq	%rax, 56(%rsp)
	call	dfs
	movq	64(%rsp), %rdx
	movq	56(%rsp), %rax
	leaq	lunlun(%rip), %r11
	cmpq	$9, %rdx
	je	.L342
	leaq	1(%rax), %rdi
	movl	$7, %esi
	call	dfs
	leaq	lunlun(%rip), %r11
	jmp	.L342
.L337:
	movq	(%r11), %rax
	leaq	-1(%r10), %rsi
	movl	$10, %ecx
	addq	$1, %rax
	movq	%rax, (%r11)
	movq	%rsi, (%r11,%rax,8)
	movq	%rsi, %rax
	cqto
	idivq	%rcx
	imulq	$10, %rsi, %rax
	leaq	-1(%rdx), %rsi
	addq	%rdx, %rax
	cmpq	$9, %rsi
	jbe	.L347
.L348:
	movq	%rax, %rdi
	movl	$7, %esi
	movq	%rdx, 80(%rsp)
	movq	%r9, 72(%rsp)
	movq	%r10, 64(%rsp)
	movq	%rax, 56(%rsp)
	call	dfs
	movq	80(%rsp), %rdx
	movq	56(%rsp), %rax
	leaq	lunlun(%rip), %r11
	movq	64(%rsp), %r10
	movq	72(%rsp), %r9
	cmpq	$9, %rdx
	je	.L346
	leaq	1(%rax), %rdi
	movl	$7, %esi
	movq	%r9, 64(%rsp)
	movq	%r10, 56(%rsp)
	call	dfs
	movq	56(%rsp), %r10
	movq	64(%rsp), %r9
	leaq	lunlun(%rip), %r11
	jmp	.L346
.L410:
	movq	(%r11), %rax
	leaq	-1(%r9), %rsi
	movl	$10, %ecx
	addq	$1, %rax
	movq	%rax, (%r11)
	movq	%rsi, (%r11,%rax,8)
	movq	%rsi, %rax
	cqto
	idivq	%rcx
	imulq	$10, %rsi, %rax
	movq	%rdx, %rbx
	addq	%rdx, %rax
	leaq	-1(%rdx), %rdx
	cmpq	$9, %rdx
	jbe	.L414
.L365:
	movq	%rax, %rdi
	movl	$7, %esi
	movq	%r9, 64(%rsp)
	movq	%rax, 56(%rsp)
	call	dfs
	cmpq	$9, %rbx
	movq	56(%rsp), %rax
	movq	64(%rsp), %r9
	leaq	lunlun(%rip), %r11
	je	.L366
	leaq	1(%rax), %rdi
	movl	$7, %esi
	movq	%r9, 56(%rsp)
	call	dfs
	movq	56(%rsp), %r9
	leaq	lunlun(%rip), %r11
	jmp	.L366
.L409:
	leaq	1(%r10), %rax
	addq	$1, %rdx
	movl	$10, %ecx
	movq	%rdx, (%r11)
	movq	%rax, (%r11,%rdx,8)
	cqto
	idivq	%rcx
	movq	56(%rsp), %rax
	leaq	-1(%rdx), %rsi
	leaq	10(%rax,%rdx), %rax
	cmpq	$9, %rsi
	jbe	.L354
.L356:
	movq	%rax, %rdi
	movl	$7, %esi
	movq	%rdx, 64(%rsp)
	movq	%rax, 56(%rsp)
	call	dfs
	movq	64(%rsp), %rdx
	movq	56(%rsp), %rax
	leaq	lunlun(%rip), %r11
	cmpq	$9, %rdx
	je	.L355
	leaq	1(%rax), %rdi
	movl	$7, %esi
	call	dfs
	leaq	lunlun(%rip), %r11
	jmp	.L355
.L349:
	movq	(%r11), %rax
	leaq	-1(%r10), %rsi
	movl	$10, %ecx
	addq	$1, %rax
	movq	%rax, (%r11)
	movq	%rsi, (%r11,%rax,8)
	movq	%rsi, %rax
	cqto
	idivq	%rcx
	imulq	$10, %rsi, %rax
	leaq	-1(%rdx), %rsi
	addq	%rdx, %rax
	cmpq	$9, %rsi
	jbe	.L360
.L361:
	movq	%rax, %rdi
	movl	$7, %esi
	movq	%rdx, 80(%rsp)
	movq	%r9, 72(%rsp)
	movq	%r10, 64(%rsp)
	movq	%rax, 56(%rsp)
	call	dfs
	movq	80(%rsp), %rdx
	movq	56(%rsp), %rax
	leaq	lunlun(%rip), %r11
	movq	64(%rsp), %r10
	movq	72(%rsp), %r9
	cmpq	$9, %rdx
	je	.L359
	leaq	1(%rax), %rdi
	movl	$7, %esi
	movq	%r9, 64(%rsp)
	movq	%r10, 56(%rsp)
	call	dfs
	movq	56(%rsp), %r10
	movq	64(%rsp), %r9
	leaq	lunlun(%rip), %r11
	jmp	.L359
.L339:
	leaq	-1(%rax), %rdi
	movl	$7, %esi
	movq	%rdx, 88(%rsp)
	movq	%r9, 80(%rsp)
	movq	%r10, 72(%rsp)
	movq	%rax, 64(%rsp)
	call	dfs
	movq	64(%rsp), %rax
	movq	72(%rsp), %r10
	movq	80(%rsp), %r9
	movq	88(%rsp), %rdx
	jmp	.L345
.L351:
	leaq	-1(%rax), %rdi
	movl	$7, %esi
	movq	%rdx, 88(%rsp)
	movq	%r9, 80(%rsp)
	movq	%r10, 72(%rsp)
	movq	%rax, 64(%rsp)
	call	dfs
	movq	64(%rsp), %rax
	movq	72(%rsp), %r10
	movq	80(%rsp), %r9
	movq	88(%rsp), %rdx
	jmp	.L358
.L341:
	leaq	-1(%rax), %rdi
	movl	$7, %esi
	movq	%rdx, 64(%rsp)
	movq	%rax, 56(%rsp)
	call	dfs
	movq	56(%rsp), %rax
	movq	64(%rsp), %rdx
	jmp	.L343
.L340:
	leaq	1(%rax), %rdi
	movl	$7, %esi
	movq	%r9, 72(%rsp)
	movq	%r10, 64(%rsp)
	call	dfs
	movq	64(%rsp), %r10
	movq	72(%rsp), %r9
	leaq	lunlun(%rip), %r11
	jmp	.L344
.L360:
	leaq	-1(%rax), %rdi
	movl	$7, %esi
	movq	%rdx, 80(%rsp)
	movq	%r9, 72(%rsp)
	movq	%r10, 64(%rsp)
	movq	%rax, 56(%rsp)
	call	dfs
	movq	56(%rsp), %rax
	movq	64(%rsp), %r10
	movq	72(%rsp), %r9
	movq	80(%rsp), %rdx
	jmp	.L361
.L354:
	leaq	-1(%rax), %rdi
	movl	$7, %esi
	movq	%rdx, 64(%rsp)
	movq	%rax, 56(%rsp)
	call	dfs
	movq	56(%rsp), %rax
	movq	64(%rsp), %rdx
	jmp	.L356
.L414:
	leaq	-1(%rax), %rdi
	movl	$7, %esi
	movq	%r9, 64(%rsp)
	movq	%rax, 56(%rsp)
	call	dfs
	movq	56(%rsp), %rax
	movq	64(%rsp), %r9
	jmp	.L365
.L347:
	leaq	-1(%rax), %rdi
	movl	$7, %esi
	movq	%rdx, 80(%rsp)
	movq	%r9, 72(%rsp)
	movq	%r10, 64(%rsp)
	movq	%rax, 56(%rsp)
	call	dfs
	movq	56(%rsp), %rax
	movq	64(%rsp), %r10
	movq	72(%rsp), %r9
	movq	80(%rsp), %rdx
	jmp	.L348
.L413:
	leaq	-1(%rbx), %rdi
	movl	$7, %esi
	call	dfs
	jmp	.L369
.L412:
	leaq	1(%rax), %rdi
	movl	$7, %esi
	movq	%r9, 56(%rsp)
	call	dfs
	movq	56(%rsp), %r9
	leaq	lunlun(%rip), %r11
	jmp	.L374
.L411:
	leaq	-1(%rax), %rdi
	movl	$7, %esi
	movq	%rdx, 72(%rsp)
	movq	%r9, 64(%rsp)
	movq	%rax, 56(%rsp)
	call	dfs
	movq	56(%rsp), %rax
	movq	64(%rsp), %r9
	movq	72(%rsp), %rdx
	jmp	.L367
.L352:
	leaq	1(%rax), %rdi
	movl	$7, %esi
	movq	%r9, 72(%rsp)
	movq	%r10, 64(%rsp)
	call	dfs
	movq	64(%rsp), %r10
	movq	72(%rsp), %r9
	leaq	lunlun(%rip), %r11
	jmp	.L357
.L407:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE24:
	.size	main, .-main
	.globl	lunlun
	.bss
	.align 32
	.type	lunlun, @object
	.size	lunlun, 2125808
lunlun:
	.zero	2125808
	.ident	"GCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	1f - 0f
	.long	4f - 1f
	.long	5
0:
	.string	"GNU"
1:
	.align 8
	.long	0xc0000002
	.long	3f - 2f
2:
	.long	0x3
3:
	.align 8
4:

rule
	.file	"temp.c"
	.text
	.p2align 4
	.type	dfs.part.0, @function
dfs.part.0:
.LFB26:
	.cfi_startproc
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	leaq	lunlun(%rip), %r15
	movq	%rdi, %rcx
	movl	%esi, %r11d
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	leal	5(%rsi), %esi
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	subq	$120, %rsp
	.cfi_def_cfa_offset 176
	movq	lunlun(%rip), %rax
	addq	$1, %rax
	movq	%rax, lunlun(%rip)
	movq	%rdi, (%r15,%rax,8)
	leaq	(%rdi,%rdi,4), %rax
	leaq	(%rax,%rax), %r8
	movabsq	$7378697629483820647, %rax
	imulq	%rdi
	movq	%rdi, %rax
	sarq	$63, %rax
	sarq	$2, %rdx
	subq	%rax, %rdx
	leaq	(%rdx,%rdx,4), %rax
	addq	%rax, %rax
	subq	%rax, %rcx
	movq	%r8, %rax
	addq	%r8, %rcx
	leaq	2(%rcx), %r9
	leaq	-1(%rcx), %r10
	movq	%r9, %r8
	movl	%r11d, %r9d
	movq	%rax, %r11
.L3:
	movq	%r10, %rax
	subq	%r11, %rax
	cmpq	$9, %rax
	jbe	.L2
.L5:
	addq	$1, %r10
	cmpq	%r10, %r8
	jne	.L3
	addq	$120, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L2:
	.cfi_restore_state
	cmpl	$9, %r9d
	jg	.L5
	movq	(%r15), %rax
	movq	%r8, 16(%rsp)
	addq	$1, %rax
	movq	%rax, (%r15)
	movq	%r10, (%r15,%rax,8)
	leaq	(%r10,%r10,4), %rax
	leaq	(%rax,%rax), %rcx
	movabsq	$7378697629483820647, %rax
	imulq	%r10
	movq	%r10, %rax
	sarq	$63, %rax
	sarq	$2, %rdx
	subq	%rax, %rdx
	movq	%r10, %rax
	leaq	(%rdx,%rdx,4), %rdx
	addq	%rdx, %rdx
	subq	%rdx, %rax
	addq	%rcx, %rax
	leaq	-1(%rax), %rbx
	addq	$2, %rax
	movq	%rax, 8(%rsp)
.L7:
	movq	%rbx, %rax
	subq	%rcx, %rax
	cmpq	$9, %rax
	jbe	.L6
.L8:
	addq	$1, %rbx
	cmpq	%rbx, 8(%rsp)
	jne	.L7
	movq	16(%rsp), %r8
	jmp	.L5
	.p2align 4,,10
	.p2align 3
.L6:
	cmpl	$9, %r9d
	je	.L8
	movq	(%r15), %rax
	addq	$1, %rax
	movq	%rax, (%r15)
	movq	%rbx, (%r15,%rax,8)
	movabsq	$7378697629483820647, %rax
	imulq	%rbx
	movq	%rbx, %rax
	sarq	$63, %rax
	sarq	$2, %rdx
	subq	%rax, %rdx
	leaq	(%rdx,%rdx,4), %rax
	movq	%rbx, %rdx
	addq	%rax, %rax
	subq	%rax, %rdx
	leaq	(%rbx,%rbx,4), %rax
	addq	%rax, %rax
	leaq	2(%rdx), %r8
	leaq	-1(%rdx), %rbp
	movq	%rax, 24(%rsp)
	addq	%rdx, %rax
	movq	%r8, %r14
	leaq	(%rax,%rax,4), %rax
	leaq	-10(%rax,%rax), %r13
	cmpq	$9, %rbp
	jbe	.L95
.L10:
	addq	$1, %rbp
	addq	$10, %r13
	cmpq	%r14, %rbp
	je	.L8
	cmpq	$9, %rbp
	ja	.L10
.L95:
	cmpl	$8, %r9d
	je	.L10
	movq	24(%rsp), %rax
	leaq	0(%rbp,%rax), %rdi
	movq	(%r15), %rax
	addq	$1, %rax
	movq	%rax, (%r15)
	movq	%rdi, (%r15,%rax,8)
	movabsq	$7378697629483820647, %rax
	imulq	%rdi
	movq	%rdi, %rax
	sarq	$63, %rax
	sarq	$2, %rdx
	subq	%rax, %rdx
	leaq	(%rdx,%rdx,4), %rax
	addq	%rax, %rax
	subq	%rax, %rdi
	leaq	-1(%rdi), %rax
	movq	%rdi, %r12
	cmpq	$9, %rax
	jbe	.L96
	cmpq	$9, %rdi
	jbe	.L97
.L22:
	leaq	1(%r12), %rax
	cmpq	$9, %rax
	ja	.L10
	cmpl	$7, %r9d
	je	.L10
	leaq	0(%r13,%r12), %rax
	movq	%rax, 40(%rsp)
.L49:
	movq	40(%rsp), %r12
	addq	$1, %r12
.L39:
	movq	(%r15), %rax
	addq	$1, %rax
	movq	%rax, (%r15)
	movq	%r12, (%r15,%rax,8)
	movabsq	$7378697629483820647, %rax
	imulq	%r12
	movq	%rdx, %rax
	movq	%r12, %rdx
	sarq	$63, %rdx
	sarq	$2, %rax
	subq	%rdx, %rax
	leaq	(%rax,%rax,4), %rdx
	movq	%r12, %rax
	addq	%rdx, %rdx
	subq	%rdx, %rax
	leaq	-1(%rax), %rdx
	cmpq	$9, %rdx
	jbe	.L98
	cmpq	$9, %rax
	jbe	.L99
	leaq	1(%rax), %rdx
	cmpq	$9, %rdx
	ja	.L10
	cmpl	$11, %esi
	je	.L10
.L47:
	leaq	(%r12,%r12,4), %rdx
	leaq	1(%rax,%rdx,2), %rdi
.L37:
	movq	%rcx, 64(%rsp)
	movq	%r11, 56(%rsp)
	movl	%r9d, 48(%rsp)
	movq	%r10, 40(%rsp)
	movl	%esi, 32(%rsp)
	call	dfs.part.0
	movq	64(%rsp), %rcx
	movq	56(%rsp), %r11
	movl	48(%rsp), %r9d
	movq	40(%rsp), %r10
	movl	32(%rsp), %esi
	jmp	.L10
	.p2align 4,,10
	.p2align 3
.L96:
	cmpl	$7, %r9d
	je	.L13
	leaq	0(%r13,%rdi), %rax
	leaq	-1(%rax), %r8
	movq	%rax, 40(%rsp)
	movq	%rax, 32(%rsp)
	movq	(%r15), %rax
	addq	$1, %rax
	movq	%rax, (%r15)
	movq	%r8, (%r15,%rax,8)
	movabsq	$7378697629483820647, %rax
	imulq	%r8
	movq	%rdx, %rax
	movq	%r8, %rdx
	sarq	$63, %rdx
	sarq	$2, %rax
	subq	%rdx, %rax
	leaq	(%rax,%rax,4), %rdx
	movq	%r8, %rax
	addq	%rdx, %rdx
	subq	%rdx, %rax
	leaq	-1(%rax), %rdx
	cmpq	$9, %rdx
	jbe	.L100
	cmpq	$9, %rax
	jbe	.L101
.L18:
	leaq	1(%rax), %rdx
	cmpq	$9, %rdx
	jbe	.L102
.L21:
	cmpq	$9, %r12
	jbe	.L43
	addq	$1, %r12
	cmpq	$9, %r12
	ja	.L10
	jmp	.L49
	.p2align 4,,10
	.p2align 3
.L97:
	cmpl	$7, %r9d
	je	.L10
	leaq	0(%r13,%rdi), %rax
	movq	%rax, 32(%rsp)
.L43:
	movq	(%r15), %rax
	movq	32(%rsp), %rdi
	addq	$1, %rax
	movq	%rax, (%r15)
	movq	%rdi, (%r15,%rax,8)
	movabsq	$7378697629483820647, %rax
	imulq	%rdi
	movq	%rdx, %rax
	movq	%rdi, %rdx
	sarq	$63, %rdx
	sarq	$2, %rax
	subq	%rdx, %rax
	leaq	(%rax,%rax,4), %rdx
	movq	%rdi, %rax
	addq	%rdx, %rdx
	subq	%rdx, %rax
	leaq	-1(%rax), %rdx
	cmpq	$9, %rdx
	jbe	.L103
	cmpq	$9, %rax
	jbe	.L104
.L27:
	leaq	1(%rax), %rdx
	cmpq	$9, %rdx
	jbe	.L105
.L30:
	addq	$1, %r12
	cmpq	$9, %r12
	ja	.L10
	movq	32(%rsp), %r12
	addq	$1, %r12
	jmp	.L39
.L100:
	cmpl	$11, %esi
	je	.L15
	leaq	(%r8,%r8,4), %rdx
	movq	%rcx, 104(%rsp)
	leaq	(%rax,%rdx,2), %rdx
	movq	%r11, 96(%rsp)
	leaq	-1(%rdx), %rdi
	movl	%r9d, 88(%rsp)
	movq	%r10, 80(%rsp)
	movq	%r8, 72(%rsp)
	movq	%rax, 64(%rsp)
	movq	%rdx, 56(%rsp)
	movl	%esi, 48(%rsp)
	call	dfs.part.0
	movq	64(%rsp), %rax
	movl	48(%rsp), %esi
	movq	56(%rsp), %rdx
	movq	72(%rsp), %r8
	cmpq	$9, %rax
	movq	80(%rsp), %r10
	movl	88(%rsp), %r9d
	movq	96(%rsp), %r11
	movq	104(%rsp), %rcx
	jbe	.L46
	leaq	1(%rax), %rdx
	cmpq	$9, %rdx
	ja	.L21
.L50:
	leaq	(%r8,%r8,4), %rdx
	leaq	1(%rax,%rdx,2), %rdi
.L45:
	movq	%rcx, 80(%rsp)
	movq	%r11, 72(%rsp)
	movl	%r9d, 64(%rsp)
	movq	%r10, 56(%rsp)
	movl	%esi, 48(%rsp)
	call	dfs.part.0
	movl	48(%rsp), %esi
	movq	56(%rsp), %r10
	movl	64(%rsp), %r9d
	movq	72(%rsp), %r11
	movq	80(%rsp), %rcx
	jmp	.L21
.L13:
	cmpq	$9, %rdi
	ja	.L22
	jmp	.L10
.L98:
	cmpl	$11, %esi
	je	.L10
	leaq	(%r12,%r12,4), %rdx
	movq	%rcx, 80(%rsp)
	leaq	(%rax,%rdx,2), %rdx
	movq	%r11, 72(%rsp)
	leaq	-1(%rdx), %rdi
	movl	%r9d, 64(%rsp)
	movq	%r10, 56(%rsp)
	movq	%rax, 48(%rsp)
	movq	%rdx, 40(%rsp)
	movl	%esi, 32(%rsp)
	call	dfs.part.0
	movq	48(%rsp), %rax
	movl	32(%rsp), %esi
	movq	40(%rsp), %rdx
	movq	56(%rsp), %r10
	cmpq	$9, %rax
	movl	64(%rsp), %r9d
	movq	72(%rsp), %r11
	movq	80(%rsp), %rcx
	jbe	.L38
	leaq	1(%rax), %rdx
	cmpq	$9, %rdx
	ja	.L10
	jmp	.L47
.L103:
	cmpl	$11, %esi
	je	.L24
	leaq	(%rdi,%rdi,4), %rdx
	movq	%rcx, 88(%rsp)
	leaq	(%rax,%rdx,2), %rdx
	movq	%r11, 80(%rsp)
	leaq	-1(%rdx), %rdi
	movl	%r9d, 72(%rsp)
	movq	%r10, 64(%rsp)
	movq	%rax, 56(%rsp)
	movq	%rdx, 48(%rsp)
	movl	%esi, 40(%rsp)
	call	dfs.part.0
	movq	56(%rsp), %rax
	movl	40(%rsp), %esi
	movq	48(%rsp), %rdx
	movq	64(%rsp), %r10
	cmpq	$9, %rax
	movl	72(%rsp), %r9d
	movq	80(%rsp), %r11
	movq	88(%rsp), %rcx
	jbe	.L42
	leaq	1(%rax), %rdx
	cmpq	$9, %rdx
	ja	.L30
.L48:
	movq	32(%rsp), %rdi
	leaq	(%rdi,%rdi,4), %rdx
	leaq	1(%rax,%rdx,2), %rdi
.L41:
	movq	%rcx, 72(%rsp)
	movq	%r11, 64(%rsp)
	movl	%r9d, 56(%rsp)
	movq	%r10, 48(%rsp)
	movl	%esi, 40(%rsp)
	call	dfs.part.0
	movl	40(%rsp), %esi
	movq	48(%rsp), %r10
	movl	56(%rsp), %r9d
	movq	64(%rsp), %r11
	movq	72(%rsp), %rcx
	jmp	.L30
.L99:
	cmpl	$11, %esi
	je	.L10
	leaq	(%r12,%r12,4), %rdx
	leaq	(%rax,%rdx,2), %rdx
.L38:
	movq	%rdx, %rdi
	movq	%rcx, 80(%rsp)
	movq	%r11, 72(%rsp)
	movl	%r9d, 64(%rsp)
	movq	%r10, 56(%rsp)
	movq	%rax, 48(%rsp)
	movl	%esi, 40(%rsp)
	movq	%rdx, 32(%rsp)
	call	dfs.part.0
	movq	48(%rsp), %rax
	movq	32(%rsp), %rdx
	movl	40(%rsp), %esi
	movq	56(%rsp), %r10
	addq	$1, %rax
	movl	64(%rsp), %r9d
	movq	72(%rsp), %r11
	cmpq	$9, %rax
	movq	80(%rsp), %rcx
	ja	.L10
	leaq	1(%rdx), %rdi
	jmp	.L37
.L104:
	cmpl	$11, %esi
	je	.L30
	leaq	(%rdi,%rdi,4), %rdx
	leaq	(%rax,%rdx,2), %rdx
.L42:
	movq	%rdx, %rdi
	movq	%rcx, 88(%rsp)
	movq	%r11, 80(%rsp)
	movl	%r9d, 72(%rsp)
	movq	%r10, 64(%rsp)
	movq	%rax, 56(%rsp)
	movl	%esi, 48(%rsp)
	movq	%rdx, 40(%rsp)
	call	dfs.part.0
	movq	56(%rsp), %rax
	movq	40(%rsp), %rdx
	movl	48(%rsp), %esi
	movq	64(%rsp), %r10
	addq	$1, %rax
	movl	72(%rsp), %r9d
	movq	80(%rsp), %r11
	cmpq	$9, %rax
	movq	88(%rsp), %rcx
	ja	.L30
	leaq	1(%rdx), %rdi
	jmp	.L41
.L101:
	cmpl	$11, %esi
	je	.L21
	leaq	(%r8,%r8,4), %rdx
	leaq	(%rax,%rdx,2), %rdx
.L46:
	movq	%rdx, %rdi
	movq	%rcx, 96(%rsp)
	movq	%r11, 88(%rsp)
	movl	%r9d, 80(%rsp)
	movq	%r10, 72(%rsp)
	movq	%rax, 64(%rsp)
	movl	%esi, 56(%rsp)
	movq	%rdx, 48(%rsp)
	call	dfs.part.0
	movq	64(%rsp), %rax
	movq	48(%rsp), %rdx
	movl	56(%rsp), %esi
	movq	72(%rsp), %r10
	addq	$1, %rax
	movl	80(%rsp), %r9d
	movq	88(%rsp), %r11
	cmpq	$9, %rax
	movq	96(%rsp), %rcx
	ja	.L21
	leaq	1(%rdx), %rdi
	jmp	.L45
.L102:
	cmpl	$11, %esi
	jne	.L50
	jmp	.L21
.L105:
	cmpl	$11, %esi
	jne	.L48
	jmp	.L30
.L15:
	cmpq	$9, %rax
	ja	.L18
	jmp	.L21
.L24:
	cmpq	$9, %rax
	ja	.L27
	jmp	.L30
	.cfi_endproc
.LFE26:
	.size	dfs.part.0, .-dfs.part.0
	.p2align 4
	.globl	dfs
	.type	dfs, @function
dfs:
.LFB23:
	.cfi_startproc
	endbr64
	cmpl	$10, %esi
	jg	.L194
	movabsq	$7378697629483820647, %r11
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	movq	%rdi, %rcx
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	leaq	lunlun(%rip), %r14
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	movl	%esi, %r12d
	leal	4(%rsi), %esi
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	movl	%r12d, %r8d
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	subq	$88, %rsp
	.cfi_def_cfa_offset 144
	movq	lunlun(%rip), %rax
	addq	$1, %rax
	movq	%rax, lunlun(%rip)
	movq	%rdi, (%r14,%rax,8)
	leaq	(%rdi,%rdi,4), %rax
	leaq	(%rax,%rax), %r10
	movq	%rdi, %rax
	imulq	%r11
	movq	%rdi, %rax
	sarq	$63, %rax
	sarq	$2, %rdx
	subq	%rax, %rdx
	leaq	(%rdx,%rdx,4), %rax
	addq	%rax, %rax
	subq	%rax, %rcx
	addq	%r10, %rcx
	leaq	2(%rcx), %r9
	leaq	-1(%rcx), %rbx
	movq	%r9, %r15
.L109:
	movq	%rbx, %rax
	subq	%r10, %rax
	cmpq	$9, %rax
	jbe	.L108
.L111:
	addq	$1, %rbx
	cmpq	%rbx, %r15
	jne	.L109
	addq	$88, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L108:
	.cfi_restore_state
	cmpl	$10, %r8d
	je	.L111
	movq	(%r14), %rax
	addq	$1, %rax
	movq	%rax, (%r14)
	movq	%rbx, (%r14,%rax,8)
	movq	%rbx, %rax
	imulq	%r11
	movq	%rbx, %rax
	sarq	$63, %rax
	sarq	$2, %rdx
	subq	%rax, %rdx
	leaq	(%rdx,%rdx,4), %rax
	movq	%rbx, %rdx
	addq	%rax, %rax
	subq	%rax, %rdx
	leaq	(%rbx,%rbx,4), %rax
	addq	%rax, %rax
	leaq	-1(%rdx), %rbp
	leaq	2(%rdx), %r9
	movq	%rax, (%rsp)
	addq	%rdx, %rax
	leaq	(%rax,%rax,4), %rax
	leaq	-10(%rax,%rax), %r13
	cmpq	$9, %rbp
	jbe	.L198
.L113:
	addq	$1, %rbp
	addq	$10, %r13
	cmpq	%r9, %rbp
	je	.L111
	cmpq	$9, %rbp
	ja	.L113
.L198:
	cmpl	$9, %r8d
	je	.L113
	movq	(%rsp), %rax
	leaq	0(%rbp,%rax), %rcx
	movq	(%r14), %rax
	addq	$1, %rax
	movq	%rax, (%r14)
	movq	%rcx, (%r14,%rax,8)
	movq	%rcx, %rax
	imulq	%r11
	movq	%rcx, %rax
	sarq	$63, %rax
	sarq	$2, %rdx
	subq	%rax, %rdx
	leaq	(%rdx,%rdx,4), %rax
	addq	%rax, %rax
	subq	%rax, %rcx
	leaq	-1(%rcx), %rax
	movq	%rcx, %r12
	cmpq	$9, %rax
	jbe	.L199
	cmpq	$9, %rcx
	jbe	.L200
.L125:
	leaq	1(%r12), %rax
	cmpq	$9, %rax
	ja	.L113
	cmpl	$8, %r8d
	je	.L113
	leaq	0(%r13,%r12), %rax
	movq	%rax, 16(%rsp)
.L152:
	movq	16(%rsp), %r12
	addq	$1, %r12
.L142:
	movq	(%r14), %rax
	addq	$1, %rax
	movq	%rax, (%r14)
	movq	%r12, (%r14,%rax,8)
	movq	%r12, %rax
	imulq	%r11
	movq	%r12, %rax
	sarq	$63, %rax
	sarq	$2, %rdx
	subq	%rax, %rdx
	leaq	(%rdx,%rdx,4), %rax
	movq	%r12, %rdx
	addq	%rax, %rax
	subq	%rax, %rdx
	leaq	-1(%rdx), %rax
	cmpq	$9, %rax
	jbe	.L201
	cmpq	$9, %rdx
	jbe	.L202
	leaq	1(%rdx), %rax
	cmpq	$9, %rax
	ja	.L113
	cmpl	$11, %esi
	je	.L113
.L150:
	leaq	(%r12,%r12,4), %rax
	leaq	1(%rdx,%rax,2), %rdi
.L140:
	movq	%r10, 32(%rsp)
	movl	%r8d, 24(%rsp)
	movq	%r9, 16(%rsp)
	movl	%esi, 8(%rsp)
	call	dfs.part.0
	movq	32(%rsp), %r10
	movl	24(%rsp), %r8d
	movabsq	$7378697629483820647, %r11
	movq	16(%rsp), %r9
	movl	8(%rsp), %esi
	jmp	.L113
	.p2align 4,,10
	.p2align 3
.L194:
	.cfi_def_cfa_offset 8
	.cfi_restore 3
	.cfi_restore 6
	.cfi_restore 12
	.cfi_restore 13
	.cfi_restore 14
	.cfi_restore 15
	ret
	.p2align 4,,10
	.p2align 3
.L199:
	.cfi_def_cfa_offset 144
	.cfi_offset 3, -56
	.cfi_offset 6, -48
	.cfi_offset 12, -40
	.cfi_offset 13, -32
	.cfi_offset 14, -24
	.cfi_offset 15, -16
	cmpl	$8, %r8d
	je	.L116
	leaq	0(%r13,%rcx), %rax
	leaq	-1(%rax), %rcx
	movq	%rax, 16(%rsp)
	movq	%rax, 8(%rsp)
	movq	(%r14), %rax
	addq	$1, %rax
	movq	%rax, (%r14)
	movq	%rcx, (%r14,%rax,8)
	movq	%rcx, %rax
	imulq	%r11
	movq	%rcx, %rax
	sarq	$63, %rax
	sarq	$2, %rdx
	subq	%rax, %rdx
	leaq	(%rdx,%rdx,4), %rax
	movq	%rcx, %rdx
	addq	%rax, %rax
	subq	%rax, %rdx
	leaq	-1(%rdx), %rax
	cmpq	$9, %rax
	jbe	.L203
	cmpq	$9, %rdx
	jbe	.L204
.L121:
	leaq	1(%rdx), %rax
	cmpq	$9, %rax
	jbe	.L205
.L124:
	cmpq	$9, %r12
	jbe	.L146
	addq	$1, %r12
	cmpq	$9, %r12
	ja	.L113
	jmp	.L152
	.p2align 4,,10
	.p2align 3
.L200:
	cmpl	$8, %r8d
	je	.L113
	leaq	0(%r13,%rcx), %rax
	movq	%rax, 8(%rsp)
.L146:
	movq	(%r14), %rax
	movq	8(%rsp), %rdi
	addq	$1, %rax
	movq	%rax, (%r14)
	movq	%rdi, (%r14,%rax,8)
	movq	%rdi, %rax
	imulq	%r11
	movq	%rdi, %rax
	sarq	$63, %rax
	sarq	$2, %rdx
	subq	%rax, %rdx
	leaq	(%rdx,%rdx,4), %rax
	addq	%rax, %rax
	subq	%rax, %rdi
	leaq	-1(%rdi), %rax
	movq	%rdi, %rdx
	cmpq	$9, %rax
	jbe	.L206
	cmpq	$9, %rdi
	jbe	.L207
.L130:
	leaq	1(%rdx), %rax
	cmpq	$9, %rax
	jbe	.L208
.L133:
	addq	$1, %r12
	cmpq	$9, %r12
	ja	.L113
	movq	8(%rsp), %r12
	addq	$1, %r12
	jmp	.L142
.L203:
	cmpl	$11, %esi
	je	.L118
	leaq	(%rcx,%rcx,4), %rax
	movq	%r10, 72(%rsp)
	leaq	(%rdx,%rax,2), %rax
	movl	%r8d, 64(%rsp)
	leaq	-1(%rax), %rdi
	movq	%r9, 56(%rsp)
	movq	%rcx, 48(%rsp)
	movq	%rdx, 40(%rsp)
	movq	%rax, 32(%rsp)
	movl	%esi, 24(%rsp)
	call	dfs.part.0
	movq	40(%rsp), %rdx
	movl	24(%rsp), %esi
	movabsq	$7378697629483820647, %r11
	movq	32(%rsp), %rax
	movq	48(%rsp), %rcx
	cmpq	$9, %rdx
	movq	56(%rsp), %r9
	movl	64(%rsp), %r8d
	movq	72(%rsp), %r10
	jbe	.L149
	leaq	1(%rdx), %rax
	cmpq	$9, %rax
	ja	.L124
.L153:
	leaq	(%rcx,%rcx,4), %rax
	leaq	1(%rdx,%rax,2), %rdi
.L148:
	movq	%r10, 48(%rsp)
	movl	%r8d, 40(%rsp)
	movq	%r9, 32(%rsp)
	movl	%esi, 24(%rsp)
	call	dfs.part.0
	movl	24(%rsp), %esi
	movq	32(%rsp), %r9
	movabsq	$7378697629483820647, %r11
	movl	40(%rsp), %r8d
	movq	48(%rsp), %r10
	jmp	.L124
	.p2align 4,,10
	.p2align 3
.L116:
	cmpq	$9, %rcx
	ja	.L125
	jmp	.L113
.L201:
	cmpl	$11, %esi
	je	.L113
	leaq	(%r12,%r12,4), %rax
	movq	%r10, 48(%rsp)
	leaq	(%rdx,%rax,2), %rax
	movl	%r8d, 40(%rsp)
	leaq	-1(%rax), %rdi
	movq	%r9, 32(%rsp)
	movq	%rdx, 24(%rsp)
	movq	%rax, 16(%rsp)
	movl	%esi, 8(%rsp)
	call	dfs.part.0
	movq	24(%rsp), %rdx
	movl	8(%rsp), %esi
	movabsq	$7378697629483820647, %r11
	movq	16(%rsp), %rax
	movq	32(%rsp), %r9
	cmpq	$9, %rdx
	movl	40(%rsp), %r8d
	movq	48(%rsp), %r10
	jbe	.L141
	leaq	1(%rdx), %rax
	cmpq	$9, %rax
	ja	.L113
	jmp	.L150
.L206:
	cmpl	$11, %esi
	je	.L127
	movq	8(%rsp), %rax
	movq	%rdi, 32(%rsp)
	movq	%r10, 56(%rsp)
	leaq	(%rax,%rax,4), %rax
	movl	%r8d, 48(%rsp)
	leaq	(%rdi,%rax,2), %rax
	movq	%r9, 40(%rsp)
	leaq	-1(%rax), %rdi
	movq	%rax, 24(%rsp)
	movl	%esi, 16(%rsp)
	call	dfs.part.0
	movq	32(%rsp), %rdx
	movl	16(%rsp), %esi
	movabsq	$7378697629483820647, %r11
	movq	24(%rsp), %rax
	movq	40(%rsp), %r9
	cmpq	$9, %rdx
	movl	48(%rsp), %r8d
	movq	56(%rsp), %r10
	jbe	.L145
	leaq	1(%rdx), %rax
	cmpq	$9, %rax
	ja	.L133
.L151:
	movq	8(%rsp), %rax
	leaq	(%rax,%rax,4), %rax
	leaq	1(%rdx,%rax,2), %rdi
.L144:
	movq	%r10, 40(%rsp)
	movl	%r8d, 32(%rsp)
	movq	%r9, 24(%rsp)
	movl	%esi, 16(%rsp)
	call	dfs.part.0
	movl	16(%rsp), %esi
	movq	24(%rsp), %r9
	movabsq	$7378697629483820647, %r11
	movl	32(%rsp), %r8d
	movq	40(%rsp), %r10
	jmp	.L133
.L202:
	cmpl	$11, %esi
	je	.L113
	leaq	(%r12,%r12,4), %rax
	leaq	(%rdx,%rax,2), %rax
.L141:
	movq	%rax, %rdi
	movq	%r10, 48(%rsp)
	movl	%r8d, 40(%rsp)
	movq	%r9, 32(%rsp)
	movq	%rdx, 24(%rsp)
	movl	%esi, 16(%rsp)
	movq	%rax, 8(%rsp)
	call	dfs.part.0
	movq	24(%rsp), %rdx
	movq	8(%rsp), %rax
	movabsq	$7378697629483820647, %r11
	movl	16(%rsp), %esi
	movq	32(%rsp), %r9
	addq	$1, %rdx
	movl	40(%rsp), %r8d
	movq	48(%rsp), %r10
	cmpq	$9, %rdx
	ja	.L113
	leaq	1(%rax), %rdi
	jmp	.L140
.L204:
	cmpl	$11, %esi
	je	.L124
	leaq	(%rcx,%rcx,4), %rax
	leaq	(%rdx,%rax,2), %rax
.L149:
	movq	%rax, %rdi
	movq	%r10, 64(%rsp)
	movl	%r8d, 56(%rsp)
	movq	%r9, 48(%rsp)
	movq	%rdx, 40(%rsp)
	movl	%esi, 32(%rsp)
	movq	%rax, 24(%rsp)
	call	dfs.part.0
	movq	40(%rsp), %rdx
	movq	24(%rsp), %rax
	movabsq	$7378697629483820647, %r11
	movl	32(%rsp), %esi
	movq	48(%rsp), %r9
	addq	$1, %rdx
	movl	56(%rsp), %r8d
	movq	64(%rsp), %r10
	cmpq	$9, %rdx
	ja	.L124
	leaq	1(%rax), %rdi
	jmp	.L148
.L207:
	cmpl	$11, %esi
	je	.L133
	movq	8(%rsp), %rax
	leaq	(%rax,%rax,4), %rax
	leaq	(%rdi,%rax,2), %rax
.L145:
	movq	%rax, %rdi
	movq	%r10, 56(%rsp)
	movl	%r8d, 48(%rsp)
	movq	%r9, 40(%rsp)
	movq	%rdx, 32(%rsp)
	movl	%esi, 24(%rsp)
	movq	%rax, 16(%rsp)
	call	dfs.part.0
	movq	32(%rsp), %rdx
	movq	16(%rsp), %rax
	movabsq	$7378697629483820647, %r11
	movl	24(%rsp), %esi
	movq	40(%rsp), %r9
	addq	$1, %rdx
	movl	48(%rsp), %r8d
	movq	56(%rsp), %r10
	cmpq	$9, %rdx
	ja	.L133
	leaq	1(%rax), %rdi
	jmp	.L144
.L205:
	cmpl	$11, %esi
	jne	.L153
	jmp	.L124
.L208:
	cmpl	$11, %esi
	jne	.L151
	jmp	.L133
.L127:
	cmpq	$9, %rdi
	ja	.L130
	jmp	.L133
.L118:
	cmpq	$9, %rdx
	ja	.L121
	jmp	.L124
	.cfi_endproc
.LFE23:
	.size	dfs, .-dfs
	.p2align 4
	.globl	quick
	.type	quick, @function
quick:
.LFB25:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	movslq	%esi, %rax
	movq	%rdi, %r15
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	movl	%edx, %ebp
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	movq	%rax, %rbx
	subq	$168, %rsp
	.cfi_def_cfa_offset 224
	movl	%eax, 92(%rsp)
	leaq	(%rdi,%rax,8), %rax
	movq	%rax, 96(%rsp)
	leal	1(%rbx), %eax
	movl	%eax, 136(%rsp)
.L216:
	movl	92(%rsp), %edi
	movl	136(%rsp), %r9d
	movq	96(%rsp), %r8
	movl	%edi, %edx
	addl	%ebp, %edx
	movl	%edx, %eax
	shrl	$31, %eax
	addl	%edx, %eax
	movl	%ebp, %edx
	sarl	%eax
	cltq
	movq	(%r15,%rax,8), %rsi
	movslq	%ebp, %rax
.L210:
	movq	(%r8), %r11
	leaq	(%r15,%rax,8), %r10
	movl	%edi, %ebx
	movq	(%r10), %rcx
	cmpq	%rsi, %r11
	jl	.L211
	cmpq	%rcx, %rsi
	jge	.L212
	leaq	-8(%r15,%rax,8), %rax
	.p2align 4,,10
	.p2align 3
.L213:
	movq	%rax, %r10
	movq	(%rax), %rcx
	subq	$8, %rax
	subl	$1, %edx
	cmpq	%rsi, %rcx
	jg	.L213
.L212:
	cmpl	%edx, %edi
	jle	.L311
.L214:
	movl	%ebx, 36(%rsp)
	movl	%edx, 68(%rsp)
	cmpl	%ebx, %ebp
	jg	.L215
.L225:
	movl	68(%rsp), %ebx
	cmpl	%ebx, 92(%rsp)
	jge	.L312
	movl	%ebx, %ebp
	jmp	.L216
.L311:
	subl	$1, %edx
	movq	%rcx, (%r8)
	movl	%r9d, %ebx
	movq	%r11, (%r10)
	cmpl	%edx, %r9d
	jg	.L214
	movslq	%edx, %rax
.L211:
	addq	$8, %r8
	addl	$1, %r9d
	addl	$1, %edi
	jmp	.L210
.L215:
	movslq	%ebx, %rax
	leaq	(%r15,%rax,8), %rax
	movq	%rax, 104(%rsp)
	leal	1(%rbx), %eax
	movl	%eax, 140(%rsp)
.L224:
	movl	36(%rsp), %edi
	movl	%ebp, %edx
	movq	104(%rsp), %r8
	movl	140(%rsp), %r9d
	addl	%edi, %edx
	movl	%edx, %eax
	shrl	$31, %eax
	addl	%edx, %eax
	movl	%ebp, %edx
	sarl	%eax
	cltq
	movq	(%r15,%rax,8), %rsi
	movslq	%ebp, %rax
	.p2align 4,,10
	.p2align 3
.L218:
	movq	(%r8), %r11
	leaq	(%r15,%rax,8), %r10
	movl	%edi, %ebx
	movq	(%r10), %rcx
	cmpq	%r11, %rsi
	jg	.L219
	cmpq	%rcx, %rsi
	jge	.L220
	leaq	-8(%r15,%rax,8), %rax
	.p2align 4,,10
	.p2align 3
.L221:
	movq	%rax, %r10
	movq	(%rax), %rcx
	subq	$8, %rax
	subl	$1, %edx
	cmpq	%rcx, %rsi
	jl	.L221
.L220:
	cmpl	%edx, %edi
	jle	.L313
.L222:
	movl	%ebx, 40(%rsp)
	movl	%edx, 72(%rsp)
	cmpl	%ebx, %ebp
	jg	.L223
.L233:
	movl	72(%rsp), %ebx
	cmpl	%ebx, 36(%rsp)
	jge	.L225
	movl	%ebx, %ebp
	jmp	.L224
.L313:
	subl	$1, %edx
	movq	%rcx, (%r8)
	movl	%r9d, %ebx
	movq	%r11, (%r10)
	cmpl	%edx, %r9d
	jg	.L222
	movslq	%edx, %rax
.L219:
	addq	$8, %r8
	addl	$1, %r9d
	addl	$1, %edi
	jmp	.L218
.L223:
	movslq	%ebx, %rax
	leaq	(%r15,%rax,8), %rax
	movq	%rax, 112(%rsp)
	leal	1(%rbx), %eax
	movl	%eax, 144(%rsp)
.L232:
	movl	40(%rsp), %edi
	movl	%ebp, %edx
	movq	112(%rsp), %r8
	movl	144(%rsp), %r9d
	addl	%edi, %edx
	movl	%edx, %eax
	shrl	$31, %eax
	addl	%edx, %eax
	movl	%ebp, %edx
	sarl	%eax
	cltq
	movq	(%r15,%rax,8), %rsi
	movslq	%ebp, %rax
	.p2align 4,,10
	.p2align 3
.L226:
	movq	(%r8), %r11
	leaq	(%r15,%rax,8), %r10
	movl	%edi, %ebx
	movq	(%r10), %rcx
	cmpq	%r11, %rsi
	jg	.L227
	cmpq	%rcx, %rsi
	jge	.L228
	leaq	-8(%r15,%rax,8), %rax
	.p2align 4,,10
	.p2align 3
.L229:
	movq	%rax, %r10
	movq	(%rax), %rcx
	subq	$8, %rax
	subl	$1, %edx
	cmpq	%rcx, %rsi
	jl	.L229
.L228:
	cmpl	%edx, %edi
	jle	.L314
.L230:
	movl	%ebx, 44(%rsp)
	movl	%edx, 76(%rsp)
	cmpl	%ebx, %ebp
	jg	.L231
.L241:
	movl	76(%rsp), %ebx
	cmpl	%ebx, 40(%rsp)
	jge	.L233
	movl	%ebx, %ebp
	jmp	.L232
.L314:
	subl	$1, %edx
	movq	%rcx, (%r8)
	movl	%r9d, %ebx
	movq	%r11, (%r10)
	cmpl	%edx, %r9d
	jg	.L230
	movslq	%edx, %rax
.L227:
	addq	$8, %r8
	addl	$1, %r9d
	addl	$1, %edi
	jmp	.L226
.L231:
	movslq	%ebx, %rax
	leaq	(%r15,%rax,8), %rax
	movq	%rax, 120(%rsp)
	leal	1(%rbx), %eax
	movl	%eax, 132(%rsp)
.L240:
	movl	44(%rsp), %edi
	movl	%ebp, %edx
	movq	120(%rsp), %r8
	movl	132(%rsp), %r9d
	addl	%edi, %edx
	movl	%edx, %eax
	shrl	$31, %eax
	addl	%edx, %eax
	movl	%ebp, %edx
	sarl	%eax
	cltq
	movq	(%r15,%rax,8), %rsi
	movslq	%ebp, %rax
	.p2align 4,,10
	.p2align 3
.L234:
	movq	(%r8), %r11
	leaq	(%r15,%rax,8), %r10
	movl	%edi, %ebx
	movq	(%r10), %rcx
	cmpq	%r11, %rsi
	jg	.L235
	cmpq	%rcx, %rsi
	jge	.L236
	leaq	-8(%r15,%rax,8), %rax
	.p2align 4,,10
	.p2align 3
.L237:
	movq	%rax, %r10
	movq	(%rax), %rcx
	subq	$8, %rax
	subl	$1, %edx
	cmpq	%rcx, %rsi
	jl	.L237
.L236:
	cmpl	%edx, %edi
	jle	.L315
.L238:
	movl	%ebx, 20(%rsp)
	movl	%edx, 88(%rsp)
	cmpl	%ebx, %ebp
	jg	.L239
.L249:
	movl	88(%rsp), %ebx
	cmpl	%ebx, 44(%rsp)
	jge	.L241
	movl	%ebx, %ebp
	jmp	.L240
.L315:
	subl	$1, %edx
	movq	%rcx, (%r8)
	movl	%r9d, %ebx
	movq	%r11, (%r10)
	cmpl	%edx, %r9d
	jg	.L238
	movslq	%edx, %rax
.L235:
	addq	$8, %r8
	addl	$1, %r9d
	addl	$1, %edi
	jmp	.L234
.L239:
	movslq	%ebx, %rax
	leaq	(%r15,%rax,8), %rax
	movq	%rax, 80(%rsp)
	leal	1(%rbx), %eax
	movl	%eax, 128(%rsp)
.L248:
	movl	20(%rsp), %edi
	movl	%ebp, %edx
	movq	80(%rsp), %r8
	movl	%ebp, %r14d
	movl	128(%rsp), %r9d
	addl	%edi, %edx
	movl	%edx, %eax
	shrl	$31, %eax
	addl	%edx, %eax
	sarl	%eax
	cltq
	movq	(%r15,%rax,8), %rsi
	movslq	%ebp, %rax
	.p2align 4,,10
	.p2align 3
.L242:
	movq	(%r8), %r10
	leaq	(%r15,%rax,8), %rcx
	movl	%edi, %r11d
	movq	(%rcx), %rdx
	cmpq	%r10, %rsi
	jg	.L243
	cmpq	%rdx, %rsi
	jge	.L244
	leaq	-8(%r15,%rax,8), %rax
	.p2align 4,,10
	.p2align 3
.L245:
	movq	%rax, %rcx
	movq	(%rax), %rdx
	subq	$8, %rax
	subl	$1, %r14d
	cmpq	%rdx, %rsi
	jl	.L245
.L244:
	cmpl	%r14d, %edi
	jle	.L316
.L246:
	movl	%r11d, 4(%rsp)
	cmpl	%r11d, %ebp
	jg	.L247
.L257:
	cmpl	%r14d, 20(%rsp)
	jge	.L249
	movl	%r14d, %ebp
	jmp	.L248
	.p2align 4,,10
	.p2align 3
.L316:
	subl	$1, %r14d
	movq	%rdx, (%r8)
	movl	%r9d, %r11d
	movq	%r10, (%rcx)
	cmpl	%r14d, %r9d
	jg	.L246
	movslq	%r14d, %rax
.L243:
	addq	$8, %r8
	addl	$1, %r9d
	addl	$1, %edi
	jmp	.L242
.L247:
	movslq	%r11d, %rax
	movl	%r14d, 148(%rsp)
	movq	%rax, %rbx
	leaq	(%r15,%rax,8), %rax
	movq	%rax, 48(%rsp)
	leal	1(%rbx), %eax
	movl	%eax, 56(%rsp)
.L256:
	movl	4(%rsp), %edi
	movl	%ebp, %edx
	movl	56(%rsp), %r9d
	movl	%ebp, %r14d
	movq	48(%rsp), %r8
	addl	%edi, %edx
	movl	%edx, %eax
	shrl	$31, %eax
	addl	%edx, %eax
	sarl	%eax
	cltq
	movq	(%r15,%rax,8), %rsi
	movslq	%ebp, %rax
	.p2align 4,,10
	.p2align 3
.L250:
	movq	(%r8), %r10
	leaq	(%r15,%rax,8), %rcx
	movl	%edi, %r11d
	movq	(%rcx), %rdx
	cmpq	%r10, %rsi
	jg	.L251
	cmpq	%rdx, %rsi
	jge	.L252
	leaq	-8(%r15,%rax,8), %rax
	.p2align 4,,10
	.p2align 3
.L253:
	movq	%rax, %rcx
	movq	(%rax), %rdx
	subq	$8, %rax
	subl	$1, %r14d
	cmpq	%rdx, %rsi
	jl	.L253
.L252:
	cmpl	%edi, %r14d
	jge	.L317
.L254:
	movl	%r11d, (%rsp)
	cmpl	%r11d, %ebp
	jg	.L255
	cmpl	%r14d, 4(%rsp)
	jge	.L318
.L287:
	movl	%r14d, %ebp
	jmp	.L256
	.p2align 4,,10
	.p2align 3
.L317:
	subl	$1, %r14d
	movq	%rdx, (%r8)
	movl	%r9d, %r11d
	movq	%r10, (%rcx)
	cmpl	%r14d, %r9d
	jg	.L254
	movslq	%r14d, %rax
.L251:
	addq	$8, %r8
	addl	$1, %r9d
	addl	$1, %edi
	jmp	.L250
.L255:
	movslq	%r11d, %rax
	movl	%r14d, 152(%rsp)
	movq	%r15, %r14
	movq	%rax, %rbx
	leaq	(%r15,%rax,8), %rax
	movq	%rax, 24(%rsp)
	leal	1(%rbx), %eax
	movl	%eax, 32(%rsp)
.L264:
	movl	(%rsp), %edi
	movl	%ebp, %edx
	movl	32(%rsp), %r9d
	movl	%ebp, %r12d
	movq	24(%rsp), %r8
	addl	%edi, %edx
	movl	%edx, %eax
	shrl	$31, %eax
	addl	%edx, %eax
	sarl	%eax
	cltq
	movq	(%r14,%rax,8), %rsi
	movslq	%ebp, %rax
	.p2align 4,,10
	.p2align 3
.L258:
	movq	(%r8), %r10
	leaq	(%r14,%rax,8), %rcx
	movl	%edi, %r15d
	movq	(%rcx), %rdx
	cmpq	%r10, %rsi
	jg	.L259
	cmpq	%rdx, %rsi
	jge	.L260
	leaq	-8(%r14,%rax,8), %rax
	.p2align 4,,10
	.p2align 3
.L261:
	movq	%rax, %rcx
	movq	(%rax), %rdx
	subq	$8, %rax
	subl	$1, %r12d
	cmpq	%rdx, %rsi
	jl	.L261
.L260:
	cmpl	%r12d, %edi
	jle	.L319
.L262:
	cmpl	%r15d, %ebp
	jg	.L263
	cmpl	%r12d, (%rsp)
	jge	.L320
.L288:
	movl	%r12d, %ebp
	jmp	.L264
	.p2align 4,,10
	.p2align 3
.L319:
	subl	$1, %r12d
	movq	%rdx, (%r8)
	movl	%r9d, %r15d
	movq	%r10, (%rcx)
	cmpl	%r12d, %r9d
	jg	.L262
	movslq	%r12d, %rax
.L259:
	addq	$8, %r8
	addl	$1, %r9d
	addl	$1, %edi
	jmp	.L258
.L263:
	movslq	%r15d, %rax
	movl	%r12d, 156(%rsp)
	movl	%ebp, %r13d
	leaq	(%r14,%rax,8), %rax
	movq	%rax, 8(%rsp)
	leal	1(%r15), %eax
	movl	%eax, 16(%rsp)
.L272:
	leal	0(%r13,%r15), %edx
	movl	16(%rsp), %r9d
	movl	%r15d, %edi
	movl	%r13d, %ebp
	movl	%edx, %eax
	movq	8(%rsp), %r8
	shrl	$31, %eax
	addl	%edx, %eax
	sarl	%eax
	cltq
	movq	(%r14,%rax,8), %rsi
	movslq	%r13d, %rax
	.p2align 4,,10
	.p2align 3
.L266:
	movq	(%r8), %r10
	leaq	(%r14,%rax,8), %rcx
	movl	%edi, %r12d
	movq	(%rcx), %rdx
	cmpq	%r10, %rsi
	jg	.L267
	cmpq	%rdx, %rsi
	jge	.L268
	leaq	-8(%r14,%rax,8), %rax
	.p2align 4,,10
	.p2align 3
.L269:
	movq	%rax, %rcx
	movq	(%rax), %rdx
	subq	$8, %rax
	subl	$1, %ebp
	cmpq	%rdx, %rsi
	jl	.L269
.L268:
	cmpl	%ebp, %edi
	jle	.L321
.L270:
	cmpl	%r12d, %r13d
	jg	.L271
	cmpl	%ebp, %r15d
	jge	.L322
.L289:
	movl	%ebp, %r13d
	jmp	.L272
	.p2align 4,,10
	.p2align 3
.L321:
	subl	$1, %ebp
	movq	%rdx, (%r8)
	movl	%r9d, %r12d
	movq	%r10, (%rcx)
	cmpl	%ebp, %r9d
	jg	.L270
	movslq	%ebp, %rax
.L267:
	addq	$8, %r8
	addl	$1, %r9d
	addl	$1, %edi
	jmp	.L266
.L271:
	movslq	%r12d, %rax
	leal	1(%r12), %ebx
	movl	%r15d, 60(%rsp)
	leaq	(%r14,%rax,8), %rax
	movl	%ebp, 64(%rsp)
	movl	%ebx, %r15d
	movq	%rax, %rbp
.L280:
	leal	0(%r13,%r12), %edx
	movl	%r15d, %r9d
	movl	%r12d, %edi
	movq	%rbp, %r8
	movl	%edx, %eax
	movl	%r13d, %ebx
	shrl	$31, %eax
	addl	%edx, %eax
	sarl	%eax
	cltq
	movq	(%r14,%rax,8), %rsi
	movslq	%r13d, %rax
	.p2align 4,,10
	.p2align 3
.L274:
	movq	(%r8), %r10
	leaq	(%r14,%rax,8), %rcx
	movl	%edi, %r11d
	movq	(%rcx), %rdx
	cmpq	%r10, %rsi
	jg	.L275
	cmpq	%rdx, %rsi
	jge	.L276
	leaq	-8(%r14,%rax,8), %rax
	.p2align 4,,10
	.p2align 3
.L277:
	movq	%rax, %rcx
	movq	(%rax), %rdx
	subq	$8, %rax
	subl	$1, %ebx
	cmpq	%rdx, %rsi
	jl	.L277
.L276:
	cmpl	%edi, %ebx
	jge	.L323
.L278:
	cmpl	%r11d, %r13d
	jg	.L324
.L279:
	cmpl	%ebx, %r12d
	jge	.L325
	movl	%ebx, %r13d
	jmp	.L280
	.p2align 4,,10
	.p2align 3
.L323:
	subl	$1, %ebx
	movq	%rdx, (%r8)
	movl	%r9d, %r11d
	movq	%r10, (%rcx)
	cmpl	%ebx, %r9d
	jg	.L278
	movslq	%ebx, %rax
.L275:
	addq	$8, %r8
	addl	$1, %r9d
	addl	$1, %edi
	jmp	.L274
.L325:
	movl	60(%rsp), %r15d
	movl	64(%rsp), %ebp
	cmpl	%ebp, %r15d
	jl	.L289
.L322:
	movl	156(%rsp), %r12d
	cmpl	%r12d, (%rsp)
	jl	.L288
.L320:
	movq	%r14, %r15
	movl	152(%rsp), %r14d
	cmpl	%r14d, 4(%rsp)
	jl	.L287
.L318:
	movl	148(%rsp), %r14d
	jmp	.L257
.L324:
	movl	%r13d, %edx
	movl	%r11d, %esi
	movq	%r14, %rdi
	call	quick
	jmp	.L279
.L312:
	addq	$168, %rsp
	.cfi_def_cfa_offset 56
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE25:
	.size	quick, .-quick
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"%d"
.LC1:
	.string	"%ld\n"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB24:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	leaq	.LC0(%rip), %rdi
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	subq	$120, %rsp
	.cfi_def_cfa_offset 176
	movq	%fs:40, %rax
	movq	%rax, 104(%rsp)
	xorl	%eax, %eax
	leaq	100(%rsp), %rsi
	call	__isoc99_scanf@PLT
	movq	$-10, %r9
	movq	$1, 16(%rsp)
	movl	$13, %r10d
	leaq	lunlun(%rip), %r11
	movq	%r9, %r8
	.p2align 4,,10
	.p2align 3
.L371:
	movq	(%r11), %rax
	movq	16(%rsp), %rdi
	leaq	-3(%r10), %r9
	movq	%r8, %r15
	movq	%r9, %rbx
	addq	$1, %rax
	movq	%rax, (%r11)
	movq	%rdi, (%r11,%rax,8)
.L328:
	leaq	(%rbx,%r15), %rax
	cmpq	$9, %rax
	jbe	.L327
.L332:
	addq	$1, %rbx
	cmpq	%r10, %rbx
	jne	.L328
	movq	%r15, %r8
	addq	$1, 16(%rsp)
	leaq	11(%rbx), %r10
	subq	$10, %r8
	cmpq	$101, %rbx
	jne	.L371
	movl	lunlun(%rip), %edx
	movq	%r11, %rdi
	movl	$1, %esi
	call	quick
	movslq	100(%rsp), %rax
	movl	$1, %edi
	leaq	lunlun(%rip), %r11
	leaq	.LC1(%rip), %rsi
	movq	(%r11,%rax,8), %rdx
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movq	104(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L407
	addq	$120, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	xorl	%eax, %eax
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L327:
	.cfi_restore_state
	movq	(%r11), %rax
	movq	%rbx, 32(%rsp)
	movq	%r15, %r8
	addq	$1, %rax
	movq	%rax, (%r11)
	movq	%rbx, (%r11,%rax,8)
	leaq	(%rbx,%rbx,4), %rax
	leaq	(%rax,%rax), %r9
	movabsq	$-3689348814741910323, %rax
	mulq	%rbx
	movq	%rbx, %rax
	movq	%r9, %r15
	shrq	$3, %rdx
	leaq	(%rdx,%rdx,4), %rdx
	addq	%rdx, %rdx
	subq	%rdx, %rax
	addq	%r9, %rax
	leaq	-1(%rax), %rbp
	addq	$2, %rax
	movq	%rax, 8(%rsp)
.L331:
	movq	%rbp, %rax
	subq	%r15, %rax
	cmpq	$9, %rax
	jbe	.L330
.L335:
	addq	$1, %rbp
	cmpq	%rbp, 8(%rsp)
	jne	.L331
	movq	32(%rsp), %rbx
	movq	%r8, %r15
	jmp	.L332
	.p2align 4,,10
	.p2align 3
.L330:
	movq	(%r11), %rax
	movq	%r8, 48(%rsp)
	movq	%r10, %r14
	movq	%rbp, 40(%rsp)
	addq	$1, %rax
	movq	%rax, (%r11)
	movq	%rbp, (%r11,%rax,8)
	leaq	0(%rbp,%rbp,4), %rax
	leaq	(%rax,%rax), %rcx
	movabsq	$-3689348814741910323, %rax
	mulq	%rbp
	movq	%rbp, %rax
	movq	%rcx, %rbp
	shrq	$3, %rdx
	leaq	(%rdx,%rdx,4), %rdx
	addq	%rdx, %rdx
	subq	%rdx, %rax
	addq	%rcx, %rax
	leaq	-1(%rax), %r12
	addq	$2, %rax
	movq	%rax, 24(%rsp)
.L334:
	movq	%r12, %rax
	subq	%rbp, %rax
	cmpq	$9, %rax
	jbe	.L333
.L370:
	addq	$1, %r12
	cmpq	%r12, 24(%rsp)
	jne	.L334
	movq	40(%rsp), %rbp
	movq	48(%rsp), %r8
	movq	%r14, %r10
	jmp	.L335
	.p2align 4,,10
	.p2align 3
.L333:
	movq	(%r11), %rax
	movq	%r12, %r13
	addq	$1, %rax
	movq	%rax, (%r11)
	movq	%r12, (%r11,%rax,8)
	movabsq	$-3689348814741910323, %rax
	mulq	%r12
	shrq	$3, %rdx
	leaq	(%rdx,%rdx,4), %rax
	addq	%rax, %rax
	subq	%rax, %r13
	leaq	(%r12,%r12,4), %rax
	leaq	-1(%r13), %rdx
	leaq	0(%r13,%rax,2), %rbx
	movq	(%r11), %rax
	cmpq	$9, %rdx
	jbe	.L408
.L342:
	movq	(%r11), %rax
	movq	%rbx, %r9
	addq	$1, %rax
	movq	%rax, (%r11)
	movq	%rbx, (%r11,%rax,8)
	movabsq	$7378697629483820647, %rax
	imulq	%rbx
	movq	%rbx, %rax
	sarq	$63, %rax
	sarq	$2, %rdx
	subq	%rax, %rdx
	leaq	(%rdx,%rdx,4), %rax
	addq	%rax, %rax
	subq	%rax, %r9
	leaq	(%rbx,%rbx,4), %rax
	leaq	(%r9,%rax,2), %r10
	leaq	-1(%r9), %rax
	cmpq	$9, %rax
	jbe	.L349
.L359:
	movq	(%r11), %rax
	movl	$10, %ecx
	addq	$1, %rax
	movq	%rax, (%r11)
	movq	%r10, (%r11,%rax,8)
	movq	%r10, %rax
	cqto
	idivq	%rcx
	imulq	$10, %r10, %rax
	movq	%rax, 56(%rsp)
	leaq	-1(%rdx), %rsi
	addq	%rdx, %rax
	cmpq	$9, %rsi
	jbe	.L351
.L358:
	movq	%rax, %rdi
	movl	$7, %esi
	movq	%rdx, 88(%rsp)
	movq	%r9, 80(%rsp)
	movq	%r10, 72(%rsp)
	movq	%rax, 64(%rsp)
	call	dfs
	movq	88(%rsp), %rdx
	movq	64(%rsp), %rax
	leaq	lunlun(%rip), %r11
	movq	72(%rsp), %r10
	movq	80(%rsp), %r9
	cmpq	$9, %rdx
	jne	.L352
.L357:
	movq	(%r11), %rdx
	cmpq	$9, %r9
	jne	.L409
.L355:
	movq	(%r11), %rax
	cmpq	$9, %r13
	je	.L370
	addq	$1, %rbx
	addq	$1, %rax
	movq	%rax, (%r11)
	movq	%rbx, %r13
	movq	%rbx, (%r11,%rax,8)
	movabsq	$-3689348814741910323, %rax
	mulq	%rbx
	shrq	$3, %rdx
	leaq	(%rdx,%rdx,4), %rax
	addq	%rax, %rax
	subq	%rax, %r13
	leaq	(%rbx,%rbx,4), %rax
	leaq	0(%r13,%rax,2), %r9
	leaq	-1(%r13), %rax
	cmpq	$9, %rax
	jbe	.L410
.L366:
	movq	(%r11), %rax
	movl	$10, %ecx
	imulq	$10, %r9, %rbx
	addq	$1, %rax
	movq	%rax, (%r11)
	movq	%r9, (%r11,%rax,8)
	movq	%r9, %rax
	cqto
	idivq	%rcx
	leaq	-1(%rdx), %rsi
	leaq	(%rdx,%rbx), %rax
	cmpq	$9, %rsi
	jbe	.L411
.L367:
	movq	%rax, %rdi
	movl	$7, %esi
	movq	%rdx, 72(%rsp)
	movq	%r9, 64(%rsp)
	movq	%rax, 56(%rsp)
	call	dfs
	movq	72(%rsp), %rdx
	movq	56(%rsp), %rax
	leaq	lunlun(%rip), %r11
	movq	64(%rsp), %r9
	cmpq	$9, %rdx
	jne	.L412
.L374:
	movq	(%r11), %rdx
	cmpq	$9, %r13
	je	.L370
	leaq	1(%r9), %rax
	addq	$1, %rdx
	movl	$10, %ecx
	movq	%rdx, (%r11)
	movq	%rax, (%r11,%rdx,8)
	cqto
	idivq	%rcx
	leaq	-1(%rdx), %rax
	movq	%rdx, %r13
	leaq	10(%rbx,%rdx), %rbx
	cmpq	$9, %rax
	jbe	.L413
.L369:
	movl	$7, %esi
	movq	%rbx, %rdi
	call	dfs
	cmpq	$9, %r13
	leaq	lunlun(%rip), %r11
	je	.L370
	leaq	1(%rbx), %rdi
	movl	$7, %esi
	call	dfs
	leaq	lunlun(%rip), %r11
	jmp	.L370
	.p2align 4,,10
	.p2align 3
.L408:
	leaq	-1(%rbx), %rsi
	addq	$1, %rax
	movq	%rax, (%r11)
	movq	%rsi, %r9
	movq	%rsi, (%r11,%rax,8)
	movabsq	$-3689348814741910323, %rax
	mulq	%rsi
	shrq	$3, %rdx
	leaq	(%rdx,%rdx,4), %rax
	addq	%rax, %rax
	subq	%rax, %r9
	leaq	(%rsi,%rsi,4), %rax
	leaq	(%r9,%rax,2), %r10
	leaq	-1(%r9), %rax
	cmpq	$9, %rax
	jbe	.L337
.L346:
	movq	(%r11), %rax
	movl	$10, %ecx
	addq	$1, %rax
	movq	%rax, (%r11)
	movq	%r10, (%r11,%rax,8)
	movq	%r10, %rax
	cqto
	idivq	%rcx
	imulq	$10, %r10, %rax
	movq	%rax, 56(%rsp)
	leaq	-1(%rdx), %rsi
	addq	%rdx, %rax
	cmpq	$9, %rsi
	jbe	.L339
.L345:
	movq	%rax, %rdi
	movl	$7, %esi
	movq	%rdx, 88(%rsp)
	movq	%r9, 80(%rsp)
	movq	%r10, 72(%rsp)
	movq	%rax, 64(%rsp)
	call	dfs
	movq	88(%rsp), %rdx
	movq	64(%rsp), %rax
	leaq	lunlun(%rip), %r11
	movq	72(%rsp), %r10
	movq	80(%rsp), %r9
	cmpq	$9, %rdx
	jne	.L340
.L344:
	movq	(%r11), %rdx
	cmpq	$9, %r9
	je	.L342
	leaq	1(%r10), %rax
	addq	$1, %rdx
	movl	$10, %ecx
	movq	%rdx, (%r11)
	movq	%rax, (%r11,%rdx,8)
	cqto
	idivq	%rcx
	movq	56(%rsp), %rax
	leaq	-1(%rdx), %rsi
	leaq	10(%rax,%rdx), %rax
	cmpq	$9, %rsi
	jbe	.L341
.L343:
	movq	%rax, %rdi
	movl	$7, %esi
	movq	%rdx, 64(%rsp)
	movq	%rax, 56(%rsp)
	call	dfs
	movq	64(%rsp), %rdx
	movq	56(%rsp), %rax
	leaq	lunlun(%rip), %r11
	cmpq	$9, %rdx
	je	.L342
	leaq	1(%rax), %rdi
	movl	$7, %esi
	call	dfs
	leaq	lunlun(%rip), %r11
	jmp	.L342
.L337:
	movq	(%r11), %rax
	leaq	-1(%r10), %rsi
	movl	$10, %ecx
	addq	$1, %rax
	movq	%rax, (%r11)
	movq	%rsi, (%r11,%rax,8)
	movq	%rsi, %rax
	cqto
	idivq	%rcx
	imulq	$10, %rsi, %rax
	leaq	-1(%rdx), %rsi
	addq	%rdx, %rax
	cmpq	$9, %rsi
	jbe	.L347
.L348:
	movq	%rax, %rdi
	movl	$7, %esi
	movq	%rdx, 80(%rsp)
	movq	%r9, 72(%rsp)
	movq	%r10, 64(%rsp)
	movq	%rax, 56(%rsp)
	call	dfs
	movq	80(%rsp), %rdx
	movq	56(%rsp), %rax
	leaq	lunlun(%rip), %r11
	movq	64(%rsp), %r10
	movq	72(%rsp), %r9
	cmpq	$9, %rdx
	je	.L346
	leaq	1(%rax), %rdi
	movl	$7, %esi
	movq	%r9, 64(%rsp)
	movq	%r10, 56(%rsp)
	call	dfs
	movq	56(%rsp), %r10
	movq	64(%rsp), %r9
	leaq	lunlun(%rip), %r11
	jmp	.L346
.L410:
	movq	(%r11), %rax
	leaq	-1(%r9), %rsi
	movl	$10, %ecx
	addq	$1, %rax
	movq	%rax, (%r11)
	movq	%rsi, (%r11,%rax,8)
	movq	%rsi, %rax
	cqto
	idivq	%rcx
	imulq	$10, %rsi, %rax
	movq	%rdx, %rbx
	addq	%rdx, %rax
	leaq	-1(%rdx), %rdx
	cmpq	$9, %rdx
	jbe	.L414
.L365:
	movq	%rax, %rdi
	movl	$7, %esi
	movq	%r9, 64(%rsp)
	movq	%rax, 56(%rsp)
	call	dfs
	cmpq	$9, %rbx
	movq	56(%rsp), %rax
	movq	64(%rsp), %r9
	leaq	lunlun(%rip), %r11
	je	.L366
	leaq	1(%rax), %rdi
	movl	$7, %esi
	movq	%r9, 56(%rsp)
	call	dfs
	movq	56(%rsp), %r9
	leaq	lunlun(%rip), %r11
	jmp	.L366
.L409:
	leaq	1(%r10), %rax
	addq	$1, %rdx
	movl	$10, %ecx
	movq	%rdx, (%r11)
	movq	%rax, (%r11,%rdx,8)
	cqto
	idivq	%rcx
	movq	56(%rsp), %rax
	leaq	-1(%rdx), %rsi
	leaq	10(%rax,%rdx), %rax
	cmpq	$9, %rsi
	jbe	.L354
.L356:
	movq	%rax, %rdi
	movl	$7, %esi
	movq	%rdx, 64(%rsp)
	movq	%rax, 56(%rsp)
	call	dfs
	movq	64(%rsp), %rdx
	movq	56(%rsp), %rax
	leaq	lunlun(%rip), %r11
	cmpq	$9, %rdx
	je	.L355
	leaq	1(%rax), %rdi
	movl	$7, %esi
	call	dfs
	leaq	lunlun(%rip), %r11
	jmp	.L355
.L349:
	movq	(%r11), %rax
	leaq	-1(%r10), %rsi
	movl	$10, %ecx
	addq	$1, %rax
	movq	%rax, (%r11)
	movq	%rsi, (%r11,%rax,8)
	movq	%rsi, %rax
	cqto
	idivq	%rcx
	imulq	$10, %rsi, %rax
	leaq	-1(%rdx), %rsi
	addq	%rdx, %rax
	cmpq	$9, %rsi
	jbe	.L360
.L361:
	movq	%rax, %rdi
	movl	$7, %esi
	movq	%rdx, 80(%rsp)
	movq	%r9, 72(%rsp)
	movq	%r10, 64(%rsp)
	movq	%rax, 56(%rsp)
	call	dfs
	movq	80(%rsp), %rdx
	movq	56(%rsp), %rax
	leaq	lunlun(%rip), %r11
	movq	64(%rsp), %r10
	movq	72(%rsp), %r9
	cmpq	$9, %rdx
	je	.L359
	leaq	1(%rax), %rdi
	movl	$7, %esi
	movq	%r9, 64(%rsp)
	movq	%r10, 56(%rsp)
	call	dfs
	movq	56(%rsp), %r10
	movq	64(%rsp), %r9
	leaq	lunlun(%rip), %r11
	jmp	.L359
.L339:
	leaq	-1(%rax), %rdi
	movl	$7, %esi
	movq	%rdx, 88(%rsp)
	movq	%r9, 80(%rsp)
	movq	%r10, 72(%rsp)
	movq	%rax, 64(%rsp)
	call	dfs
	movq	64(%rsp), %rax
	movq	72(%rsp), %r10
	movq	80(%rsp), %r9
	movq	88(%rsp), %rdx
	jmp	.L345
.L351:
	leaq	-1(%rax), %rdi
	movl	$7, %esi
	movq	%rdx, 88(%rsp)
	movq	%r9, 80(%rsp)
	movq	%r10, 72(%rsp)
	movq	%rax, 64(%rsp)
	call	dfs
	movq	64(%rsp), %rax
	movq	72(%rsp), %r10
	movq	80(%rsp), %r9
	movq	88(%rsp), %rdx
	jmp	.L358
.L341:
	leaq	-1(%rax), %rdi
	movl	$7, %esi
	movq	%rdx, 64(%rsp)
	movq	%rax, 56(%rsp)
	call	dfs
	movq	56(%rsp), %rax
	movq	64(%rsp), %rdx
	jmp	.L343
.L340:
	leaq	1(%rax), %rdi
	movl	$7, %esi
	movq	%r9, 72(%rsp)
	movq	%r10, 64(%rsp)
	call	dfs
	movq	64(%rsp), %r10
	movq	72(%rsp), %r9
	leaq	lunlun(%rip), %r11
	jmp	.L344
.L360:
	leaq	-1(%rax), %rdi
	movl	$7, %esi
	movq	%rdx, 80(%rsp)
	movq	%r9, 72(%rsp)
	movq	%r10, 64(%rsp)
	movq	%rax, 56(%rsp)
	call	dfs
	movq	56(%rsp), %rax
	movq	64(%rsp), %r10
	movq	72(%rsp), %r9
	movq	80(%rsp), %rdx
	jmp	.L361
.L354:
	leaq	-1(%rax), %rdi
	movl	$7, %esi
	movq	%rdx, 64(%rsp)
	movq	%rax, 56(%rsp)
	call	dfs
	movq	56(%rsp), %rax
	movq	64(%rsp), %rdx
	jmp	.L356
.L414:
	leaq	-1(%rax), %rdi
	movl	$7, %esi
	movq	%r9, 64(%rsp)
	movq	%rax, 56(%rsp)
	call	dfs
	movq	56(%rsp), %rax
	movq	64(%rsp), %r9
	jmp	.L365
.L347:
	leaq	-1(%rax), %rdi
	movl	$7, %esi
	movq	%rdx, 80(%rsp)
	movq	%r9, 72(%rsp)
	movq	%r10, 64(%rsp)
	movq	%rax, 56(%rsp)
	call	dfs
	movq	56(%rsp), %rax
	movq	64(%rsp), %r10
	movq	72(%rsp), %r9
	movq	80(%rsp), %rdx
	jmp	.L348
.L413:
	leaq	-1(%rbx), %rdi
	movl	$7, %esi
	call	dfs
	jmp	.L369
.L412:
	leaq	1(%rax), %rdi
	movl	$7, %esi
	movq	%r9, 56(%rsp)
	call	dfs
	movq	56(%rsp), %r9
	leaq	lunlun(%rip), %r11
	jmp	.L374
.L411:
	leaq	-1(%rax), %rdi
	movl	$7, %esi
	movq	%rdx, 72(%rsp)
	movq	%r9, 64(%rsp)
	movq	%rax, 56(%rsp)
	call	dfs
	movq	56(%rsp), %rax
	movq	64(%rsp), %r9
	movq	72(%rsp), %rdx
	jmp	.L367
.L352:
	leaq	1(%rax), %rdi
	movl	$7, %esi
	movq	%r9, 72(%rsp)
	movq	%r10, 64(%rsp)
	call	dfs
	movq	64(%rsp), %r10
	movq	72(%rsp), %r9
	leaq	lunlun(%rip), %r11
	jmp	.L357
.L407:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE24:
	.size	main, .-main
	.globl	lunlun
	.bss
	.align 32
	.type	lunlun, @object
	.size	lunlun, 2125808
lunlun:
	.zero	2125808
	.ident	"GCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	1f - 0f
	.long	4f - 1f
	.long	5
0:
	.string	"GNU"
1:
	.align 8
	.long	0xc0000002
	.long	3f - 2f
2:
	.long	0x3
3:
	.align 8
4:

#include <stdio.h>
#define min(x, y) ((x)>(y) ? (y) : (x))
#define max(x, y) ((x)<(y) ? (y) : (x))
#define swap(type, x, y) do{ type t = x; x = y; y = t; }while(0)

void quick(long array[], int left, int right);

long lunlun[265726] = {0};

void dfs(long num, int len){
  if(len > 10)  return;
  lunlun[++lunlun[0]] = num;
  for(long i=-1; i<=1; i++)
    if(num%10+i>=0 && num%10+i<=9){
      long newnum = num*10 + num%10+i;
      dfs(newnum, len+1);
    }
  
  return;
}

int main(){
  int k;  scanf("%d", &k);

  for(long i=1; i<=9; i++)
    dfs(i, 1);

  quick(lunlun, 1, lunlun[0]);

  printf("%ld\n", lunlun[k]);
  return 0;
}

void quick(long array[], int left, int right){
  int pl = left, pr = right;
  long x = array[(left+right) / 2];
  do{
    while(array[pl] < x)  pl++;
    while(array[pr] > x)  pr--;
    if(pl <= pr){
      swap(long, array[pl], array[pr]);
      pl++, pr--;
    }
  }while(pl <= pr);
  if(pl < right)  quick(array, pl, right);
  if(pr > left)   quick(array, left, pr);
}
  

8
 2
 12
 9
 20
 37
 10
 3
 5
 6

8
 2
 12
 9
 44
 101
 10
 3
 5
 6

Given the following C code and unoptimized assembly code, your task is to generate highly optimized x86-64 assembly code.
C Code:

```c
#include <stdio.h>
#define min(x, y) ((x)>(y) ? (y) : (x))
#define max(x, y) ((x)<(y) ? (y) : (x))
#define swap(type, x, y) do{ type t = x; x = y; y = t; }while(0)

void quick(long array[], int left, int right);

long lunlun[265726] = {0};

void dfs(long num, int len){
  if(len > 10)  return;
  lunlun[++lunlun[0]] = num;
  for(long i=-1; i<=1; i++)
    if(num%10+i>=0 && num%10+i<=9){
      long newnum = num*10 + num%10+i;
      dfs(newnum, len+1);
    }
  
  return;
}

int main(){
  int k;  scanf("%d", &k);

  for(long i=1; i<=9; i++)
    dfs(i, 1);

  quick(lunlun, 1, lunlun[0]);

  printf("%ld\n", lunlun[k]);
  return 0;
}

void quick(long array[], int left, int right){
  int pl = left, pr = right;
  long x = array[(left+right) / 2];
  do{
    while(array[pl] < x)  pl++;
    while(array[pr] > x)  pr--;
    if(pl <= pr){
      swap(long, array[pl], array[pr]);
      pl++, pr--;
    }
  }while(pl <= pr);
  if(pl < right)  quick(array, pl, right);
  if(pr > left)   quick(array, left, pr);
}
  
```

Unoptimized Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.globl	lunlun
	.bss
	.align 32
	.type	lunlun, @object
	.size	lunlun, 2125808
lunlun:
	.zero	2125808
	.text
	.globl	dfs
	.type	dfs, @function
dfs:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$32, %rsp
	movq	%rdi, -24(%rbp)
	movl	%esi, -28(%rbp)
	cmpl	$10, -28(%rbp)
	jg	.L7
	movq	lunlun(%rip), %rax
	addq	$1, %rax
	movq	%rax, lunlun(%rip)
	movq	lunlun(%rip), %rax
	leaq	0(,%rax,8), %rcx
	leaq	lunlun(%rip), %rdx
	movq	-24(%rbp), %rax
	movq	%rax, (%rcx,%rdx)
	movq	$-1, -16(%rbp)
	jmp	.L4
.L6:
	movq	-24(%rbp), %rcx
	movabsq	$7378697629483820647, %rdx
	movq	%rcx, %rax
	imulq	%rdx
	movq	%rdx, %rax
	sarq	$2, %rax
	movq	%rcx, %rsi
	sarq	$63, %rsi
	subq	%rsi, %rax
	movq	%rax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	subq	%rax, %rcx
	movq	%rcx, %rdx
	movq	-16(%rbp), %rax
	addq	%rdx, %rax
	testq	%rax, %rax
	js	.L5
	movq	-24(%rbp), %rcx
	movabsq	$7378697629483820647, %rdx
	movq	%rcx, %rax
	imulq	%rdx
	movq	%rdx, %rax
	sarq	$2, %rax
	movq	%rcx, %rsi
	sarq	$63, %rsi
	subq	%rsi, %rax
	movq	%rax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	subq	%rax, %rcx
	movq	%rcx, %rdx
	movq	-16(%rbp), %rax
	addq	%rdx, %rax
	cmpq	$9, %rax
	jg	.L5
	movq	-24(%rbp), %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	movq	%rax, %rdi
	movq	-24(%rbp), %rcx
	movabsq	$7378697629483820647, %rdx
	movq	%rcx, %rax
	imulq	%rdx
	movq	%rdx, %rax
	sarq	$2, %rax
	movq	%rcx, %rsi
	sarq	$63, %rsi
	subq	%rsi, %rax
	movq	%rax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	subq	%rax, %rcx
	movq	%rcx, %rdx
	addq	%rdi, %rdx
	movq	-16(%rbp), %rax
	addq	%rdx, %rax
	movq	%rax, -8(%rbp)
	movl	-28(%rbp), %eax
	leal	1(%rax), %edx
	movq	-8(%rbp), %rax
	movl	%edx, %esi
	movq	%rax, %rdi
	call	dfs
.L5:
	addq	$1, -16(%rbp)
.L4:
	cmpq	$1, -16(%rbp)
	jle	.L6
	jmp	.L1
.L7:
	nop
.L1:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	dfs, .-dfs
	.section	.rodata
.LC0:
	.string	"%d"
.LC1:
	.string	"%ld\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB1:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$32, %rsp
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	leaq	-20(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movq	$1, -16(%rbp)
	jmp	.L9
.L10:
	movq	-16(%rbp), %rax
	movl	$1, %esi
	movq	%rax, %rdi
	call	dfs
	addq	$1, -16(%rbp)
.L9:
	cmpq	$9, -16(%rbp)
	jle	.L10
	movq	lunlun(%rip), %rax
	movl	%eax, %edx
	movl	$1, %esi
	leaq	lunlun(%rip), %rax
	movq	%rax, %rdi
	call	quick
	movl	-20(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	leaq	lunlun(%rip), %rax
	movq	(%rdx,%rax), %rax
	movq	%rax, %rsi
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	$0, %eax
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L12
	call	__stack_chk_fail@PLT
.L12:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	main, .-main
	.globl	quick
	.type	quick, @function
quick:
.LFB2:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$48, %rsp
	movq	%rdi, -40(%rbp)
	movl	%esi, -44(%rbp)
	movl	%edx, -48(%rbp)
	movl	-44(%rbp), %eax
	movl	%eax, -24(%rbp)
	movl	-48(%rbp), %eax
	movl	%eax, -20(%rbp)
	movl	-44(%rbp), %edx
	movl	-48(%rbp), %eax
	addl	%edx, %eax
	movl	%eax, %edx
	shrl	$31, %edx
	addl	%edx, %eax
	sarl	%eax
	cltq
	leaq	0(,%rax,8), %rdx
	movq	-40(%rbp), %rax
	addq	%rdx, %rax
	movq	(%rax), %rax
	movq	%rax, -16(%rbp)
	jmp	.L14
.L15:
	addl	$1, -24(%rbp)
.L14:
	movl	-24(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	movq	-40(%rbp), %rax
	addq	%rdx, %rax
	movq	(%rax), %rax
	cmpq	%rax, -16(%rbp)
	jg	.L15
	jmp	.L16
.L17:
	subl	$1, -20(%rbp)
.L16:
	movl	-20(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	movq	-40(%rbp), %rax
	addq	%rdx, %rax
	movq	(%rax), %rax
	cmpq	%rax, -16(%rbp)
	jl	.L17
	movl	-24(%rbp), %eax
	cmpl	-20(%rbp), %eax
	jg	.L18
	movl	-24(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	movq	-40(%rbp), %rax
	addq	%rdx, %rax
	movq	(%rax), %rax
	movq	%rax, -8(%rbp)
	movl	-20(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	movq	-40(%rbp), %rax
	addq	%rdx, %rax
	movl	-24(%rbp), %edx
	movslq	%edx, %rdx
	leaq	0(,%rdx,8), %rcx
	movq	-40(%rbp), %rdx
	addq	%rcx, %rdx
	movq	(%rax), %rax
	movq	%rax, (%rdx)
	movl	-20(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	movq	-40(%rbp), %rax
	addq	%rax, %rdx
	movq	-8(%rbp), %rax
	movq	%rax, (%rdx)
	addl	$1, -24(%rbp)
	subl	$1, -20(%rbp)
.L18:
	movl	-24(%rbp), %eax
	cmpl	-20(%rbp), %eax
	jle	.L14
	movl	-24(%rbp), %eax
	cmpl	-48(%rbp), %eax
	jge	.L20
	movl	-48(%rbp), %edx
	movl	-24(%rbp), %ecx
	movq	-40(%rbp), %rax
	movl	%ecx, %esi
	movq	%rax, %rdi
	call	quick
.L20:
	movl	-20(%rbp), %eax
	cmpl	-44(%rbp), %eax
	jle	.L22
	movl	-20(%rbp), %edx
	movl	-44(%rbp), %ecx
	movq	-40(%rbp), %rax
	movl	%ecx, %esi
	movq	%rax, %rdi
	call	quick
.L22:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	quick, .-quick
	.ident	"GCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	1f - 0f
	.long	4f - 1f
	.long	5
0:
	.string	"GNU"
1:
	.align 8
	.long	0xc0000002
	.long	3f - 2f
2:
	.long	0x3
3:
	.align 8
4:
```

Only output the optimized assembly code. Do not include any other text. Do not write any comments in the assembly code. Wrap the assembly code in ```assembly``` tags.
train
	.file	"temp.c"
	.text
	.globl	lunlun
	.bss
	.align 32
	.type	lunlun, @object
	.size	lunlun, 2125808
lunlun:
	.zero	2125808
	.text
	.globl	dfs
	.type	dfs, @function
dfs:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$32, %rsp
	movq	%rdi, -24(%rbp)
	movl	%esi, -28(%rbp)
	cmpl	$10, -28(%rbp)
	jg	.L7
	movq	lunlun(%rip), %rax
	addq	$1, %rax
	movq	%rax, lunlun(%rip)
	movq	lunlun(%rip), %rax
	leaq	0(,%rax,8), %rcx
	leaq	lunlun(%rip), %rdx
	movq	-24(%rbp), %rax
	movq	%rax, (%rcx,%rdx)
	movq	$-1, -16(%rbp)
	jmp	.L4
.L6:
	movq	-24(%rbp), %rcx
	movabsq	$7378697629483820647, %rdx
	movq	%rcx, %rax
	imulq	%rdx
	movq	%rdx, %rax
	sarq	$2, %rax
	movq	%rcx, %rsi
	sarq	$63, %rsi
	subq	%rsi, %rax
	movq	%rax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	subq	%rax, %rcx
	movq	%rcx, %rdx
	movq	-16(%rbp), %rax
	addq	%rdx, %rax
	testq	%rax, %rax
	js	.L5
	movq	-24(%rbp), %rcx
	movabsq	$7378697629483820647, %rdx
	movq	%rcx, %rax
	imulq	%rdx
	movq	%rdx, %rax
	sarq	$2, %rax
	movq	%rcx, %rsi
	sarq	$63, %rsi
	subq	%rsi, %rax
	movq	%rax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	subq	%rax, %rcx
	movq	%rcx, %rdx
	movq	-16(%rbp), %rax
	addq	%rdx, %rax
	cmpq	$9, %rax
	jg	.L5
	movq	-24(%rbp), %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	movq	%rax, %rdi
	movq	-24(%rbp), %rcx
	movabsq	$7378697629483820647, %rdx
	movq	%rcx, %rax
	imulq	%rdx
	movq	%rdx, %rax
	sarq	$2, %rax
	movq	%rcx, %rsi
	sarq	$63, %rsi
	subq	%rsi, %rax
	movq	%rax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	subq	%rax, %rcx
	movq	%rcx, %rdx
	addq	%rdi, %rdx
	movq	-16(%rbp), %rax
	addq	%rdx, %rax
	movq	%rax, -8(%rbp)
	movl	-28(%rbp), %eax
	leal	1(%rax), %edx
	movq	-8(%rbp), %rax
	movl	%edx, %esi
	movq	%rax, %rdi
	call	dfs
.L5:
	addq	$1, -16(%rbp)
.L4:
	cmpq	$1, -16(%rbp)
	jle	.L6
	jmp	.L1
.L7:
	nop
.L1:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	dfs, .-dfs
	.section	.rodata
.LC0:
	.string	"%d"
.LC1:
	.string	"%ld\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB1:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$32, %rsp
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	leaq	-20(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movq	$1, -16(%rbp)
	jmp	.L9
.L10:
	movq	-16(%rbp), %rax
	movl	$1, %esi
	movq	%rax, %rdi
	call	dfs
	addq	$1, -16(%rbp)
.L9:
	cmpq	$9, -16(%rbp)
	jle	.L10
	movq	lunlun(%rip), %rax
	movl	%eax, %edx
	movl	$1, %esi
	leaq	lunlun(%rip), %rax
	movq	%rax, %rdi
	call	quick
	movl	-20(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	leaq	lunlun(%rip), %rax
	movq	(%rdx,%rax), %rax
	movq	%rax, %rsi
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	$0, %eax
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L12
	call	__stack_chk_fail@PLT
.L12:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	main, .-main
	.globl	quick
	.type	quick, @function
quick:
.LFB2:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$48, %rsp
	movq	%rdi, -40(%rbp)
	movl	%esi, -44(%rbp)
	movl	%edx, -48(%rbp)
	movl	-44(%rbp), %eax
	movl	%eax, -24(%rbp)
	movl	-48(%rbp), %eax
	movl	%eax, -20(%rbp)
	movl	-44(%rbp), %edx
	movl	-48(%rbp), %eax
	addl	%edx, %eax
	movl	%eax, %edx
	shrl	$31, %edx
	addl	%edx, %eax
	sarl	%eax
	cltq
	leaq	0(,%rax,8), %rdx
	movq	-40(%rbp), %rax
	addq	%rdx, %rax
	movq	(%rax), %rax
	movq	%rax, -16(%rbp)
	jmp	.L14
.L15:
	addl	$1, -24(%rbp)
.L14:
	movl	-24(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	movq	-40(%rbp), %rax
	addq	%rdx, %rax
	movq	(%rax), %rax
	cmpq	%rax, -16(%rbp)
	jg	.L15
	jmp	.L16
.L17:
	subl	$1, -20(%rbp)
.L16:
	movl	-20(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	movq	-40(%rbp), %rax
	addq	%rdx, %rax
	movq	(%rax), %rax
	cmpq	%rax, -16(%rbp)
	jl	.L17
	movl	-24(%rbp), %eax
	cmpl	-20(%rbp), %eax
	jg	.L18
	movl	-24(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	movq	-40(%rbp), %rax
	addq	%rdx, %rax
	movq	(%rax), %rax
	movq	%rax, -8(%rbp)
	movl	-20(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	movq	-40(%rbp), %rax
	addq	%rdx, %rax
	movl	-24(%rbp), %edx
	movslq	%edx, %rdx
	leaq	0(,%rdx,8), %rcx
	movq	-40(%rbp), %rdx
	addq	%rcx, %rdx
	movq	(%rax), %rax
	movq	%rax, (%rdx)
	movl	-20(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	movq	-40(%rbp), %rax
	addq	%rax, %rdx
	movq	-8(%rbp), %rax
	movq	%rax, (%rdx)
	addl	$1, -24(%rbp)
	subl	$1, -20(%rbp)
.L18:
	movl	-24(%rbp), %eax
	cmpl	-20(%rbp), %eax
	jle	.L14
	movl	-24(%rbp), %eax
	cmpl	-48(%rbp), %eax
	jge	.L20
	movl	-48(%rbp), %edx
	movl	-24(%rbp), %ecx
	movq	-40(%rbp), %rax
	movl	%ecx, %esi
	movq	%rax, %rdi
	call	quick
.L20:
	movl	-20(%rbp), %eax
	cmpl	-44(%rbp), %eax
	jle	.L22
	movl	-20(%rbp), %edx
	movl	-44(%rbp), %ecx
	movq	-40(%rbp), %rax
	movl	%ecx, %esi
	movq	%rax, %rdi
	call	quick
.L22:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	quick, .-quick
	.ident	"GCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	1f - 0f
	.long	4f - 1f
	.long	5
0:
	.string	"GNU"
1:
	.align 8
	.long	0xc0000002
	.long	3f - 2f
2:
	.long	0x3
3:
	.align 8
4:
