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

```c
#define rep(i,n)for(i=0;i<n;i++)
W,H,m,c[10][10];DP[51][10][10][10][10];CalcO(o,x,y){c[x][y]>0?o+=c[x][y],o>m?o=m:0:0;return o>0?o:0;}CalcF(f,x,y){return c[x][y]<0?f+c[x][y]:f;}Walk(x,y,l,r,o,f){int*p=&DP[o][y][x][l][r];f>*p?*p=f:0;}Dig(x,y,l,r,o,f){Walk(x,y,l,r,CalcO(o-1,x,y),CalcF(f,x,y));}main(){int*p,x,y,g,d,v,f,o,l,r,f0;for(;scanf("%d%d%d%d%d",&W,&H,&f0,&m,&o)*W;memset(DP,!printf(f?"%d\n":"NA\n",f0-f),sizeof(*DP)*2)){rep(y,H)rep(x,W)scanf("%d",&c[x][y]);f0++;if(o>1)rep(x,W)DP[CalcO(o-1,x,0)][0][x][x][x]=CalcF(f0,x,0);rep(y,H-1)rep(g,W)for(o=m;o>1;o--)rep(d,2)rep(l,W-g)rep(v,g+1)if(r=l+g,p=&DP[o][y][x=d?l+v:r-v][l][r],f=*p){*p=0;Dig(x,y+1,x,x,o,f);x?x>l?Walk(x-1,y,l,r,o-1,f):Dig(x-1,y,x-1,r,o,f):0;x<W-1?x<r?Walk(x+1,y,l,r,o-1,f):Dig(x+1,y,l,x+1,o,f):0;}f=0;rep(x,W)rep(o,m)p=&DP[o+1][H-1][x][x][x],*p>f?f=*p:0,*p=0;}}```

Unoptimized Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.globl	W
	.bss
	.align 4
	.type	W, @object
	.size	W, 4
W:
	.zero	4
	.globl	H
	.align 4
	.type	H, @object
	.size	H, 4
H:
	.zero	4
	.globl	m
	.align 4
	.type	m, @object
	.size	m, 4
m:
	.zero	4
	.globl	c
	.align 32
	.type	c, @object
	.size	c, 400
c:
	.zero	400
	.globl	DP
	.align 32
	.type	DP, @object
	.size	DP, 2040000
DP:
	.zero	2040000
	.text
	.globl	CalcO
	.type	CalcO, @function
CalcO:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movl	%edi, -4(%rbp)
	movl	%esi, -8(%rbp)
	movl	%edx, -12(%rbp)
	movl	-12(%rbp), %eax
	movslq	%eax, %rcx
	movl	-8(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	c(%rip), %rax
	movl	(%rdx,%rax), %eax
	testl	%eax, %eax
	jle	.L5
	movl	-12(%rbp), %eax
	movslq	%eax, %rcx
	movl	-8(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	c(%rip), %rax
	movl	(%rdx,%rax), %eax
	addl	%eax, -4(%rbp)
	movl	m(%rip), %eax
	cmpl	%eax, -4(%rbp)
	jle	.L5
	movl	m(%rip), %eax
	movl	%eax, -4(%rbp)
.L5:
	movl	-4(%rbp), %eax
	movl	$0, %edx
	testl	%eax, %eax
	cmovs	%edx, %eax
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	CalcO, .-CalcO
	.globl	CalcF
	.type	CalcF, @function
CalcF:
.LFB1:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movl	%edi, -4(%rbp)
	movl	%esi, -8(%rbp)
	movl	%edx, -12(%rbp)
	movl	-12(%rbp), %eax
	movslq	%eax, %rcx
	movl	-8(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	c(%rip), %rax
	movl	(%rdx,%rax), %eax
	testl	%eax, %eax
	jns	.L8
	movl	-12(%rbp), %eax
	movslq	%eax, %rcx
	movl	-8(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	c(%rip), %rax
	movl	(%rdx,%rax), %edx
	movl	-4(%rbp), %eax
	addl	%edx, %eax
	jmp	.L10
.L8:
	movl	-4(%rbp), %eax
.L10:
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	CalcF, .-CalcF
	.globl	Walk
	.type	Walk, @function
Walk:
.LFB2:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movl	%edi, -20(%rbp)
	movl	%esi, -24(%rbp)
	movl	%edx, -28(%rbp)
	movl	%ecx, -32(%rbp)
	movl	%r8d, -36(%rbp)
	movl	%r9d, -40(%rbp)
	movl	-32(%rbp), %eax
	movslq	%eax, %rsi
	movl	-20(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	leaq	0(,%rax,4), %rdx
	addq	%rdx, %rax
	salq	$2, %rax
	movl	-28(%rbp), %edx
	movslq	%edx, %rcx
	movq	%rcx, %rdx
	salq	$2, %rdx
	addq	%rcx, %rdx
	addq	%rdx, %rdx
	addq	%rdx, %rax
	leaq	(%rsi,%rax), %rcx
	movl	-36(%rbp), %eax
	cltq
	imulq	$10000, %rax, %rdx
	movl	-24(%rbp), %eax
	cltq
	imulq	$1000, %rax, %rax
	addq	%rdx, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	DP(%rip), %rax
	addq	%rdx, %rax
	movq	%rax, -8(%rbp)
	movq	-8(%rbp), %rax
	movl	(%rax), %eax
	cmpl	%eax, -40(%rbp)
	jle	.L13
	movq	-8(%rbp), %rax
	movl	-40(%rbp), %edx
	movl	%edx, (%rax)
.L13:
	nop
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	Walk, .-Walk
	.globl	Dig
	.type	Dig, @function
Dig:
.LFB3:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	pushq	%rbx
	subq	$24, %rsp
	.cfi_offset 3, -24
	movl	%edi, -12(%rbp)
	movl	%esi, -16(%rbp)
	movl	%edx, -20(%rbp)
	movl	%ecx, -24(%rbp)
	movl	%r8d, -28(%rbp)
	movl	%r9d, -32(%rbp)
	movl	-16(%rbp), %edx
	movl	-12(%rbp), %ecx
	movl	-32(%rbp), %eax
	movl	%ecx, %esi
	movl	%eax, %edi
	movl	$0, %eax
	call	CalcF
	movl	%eax, %ebx
	movl	-28(%rbp), %eax
	leal	-1(%rax), %ecx
	movl	-16(%rbp), %edx
	movl	-12(%rbp), %eax
	movl	%eax, %esi
	movl	%ecx, %edi
	movl	$0, %eax
	call	CalcO
	movl	%eax, %edi
	movl	-24(%rbp), %ecx
	movl	-20(%rbp), %edx
	movl	-16(%rbp), %esi
	movl	-12(%rbp), %eax
	movl	%ebx, %r9d
	movl	%edi, %r8d
	movl	%eax, %edi
	movl	$0, %eax
	call	Walk
	nop
	movq	-8(%rbp), %rbx
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	Dig, .-Dig
	.section	.rodata
.LC0:
	.string	"%d"
.LC1:
	.string	"%d\n"
.LC2:
	.string	"NA\n"
.LC3:
	.string	"%d%d%d%d%d"
	.text
	.globl	main
	.type	main, @function
main:
.LFB4:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	pushq	%r12
	pushq	%rbx
	subq	$64, %rsp
	.cfi_offset 12, -24
	.cfi_offset 3, -32
	movq	%fs:40, %rax
	movq	%rax, -24(%rbp)
	xorl	%eax, %eax
	jmp	.L16
.L54:
	movl	$0, -60(%rbp)
	jmp	.L17
.L20:
	movl	$0, -64(%rbp)
	jmp	.L18
.L19:
	movl	-60(%rbp), %eax
	movslq	%eax, %rcx
	movl	-64(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	c(%rip), %rax
	addq	%rdx, %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	scanf@PLT
	addl	$1, -64(%rbp)
.L18:
	movl	W(%rip), %eax
	cmpl	%eax, -64(%rbp)
	jl	.L19
	addl	$1, -60(%rbp)
.L17:
	movl	H(%rip), %eax
	cmpl	%eax, -60(%rbp)
	jl	.L20
	movl	-68(%rbp), %eax
	addl	$1, %eax
	movl	%eax, -68(%rbp)
	movl	-72(%rbp), %eax
	cmpl	$1, %eax
	jle	.L21
	movl	$0, -64(%rbp)
	jmp	.L22
.L23:
	movl	-68(%rbp), %ebx
	movl	-72(%rbp), %eax
	leal	-1(%rax), %ecx
	movl	-64(%rbp), %eax
	movl	$0, %edx
	movl	%eax, %esi
	movl	%ecx, %edi
	movl	$0, %eax
	call	CalcO
	movl	%eax, %r12d
	movl	-64(%rbp), %eax
	movl	$0, %edx
	movl	%eax, %esi
	movl	%ebx, %edi
	movl	$0, %eax
	call	CalcF
	movl	-64(%rbp), %edx
	movslq	%edx, %rcx
	movslq	%r12d, %rdx
	imulq	$444, %rcx, %rcx
	imulq	$40000, %rdx, %rdx
	addq	%rdx, %rcx
	leaq	DP(%rip), %rdx
	addq	%rcx, %rdx
	movl	%eax, (%rdx)
	addl	$1, -64(%rbp)
.L22:
	movl	W(%rip), %eax
	cmpl	%eax, -64(%rbp)
	jl	.L23
.L21:
	movl	$0, -60(%rbp)
	jmp	.L24
.L45:
	movl	$0, -56(%rbp)
	jmp	.L25
.L44:
	movl	m(%rip), %eax
	movl	%eax, -72(%rbp)
	jmp	.L26
.L43:
	movl	$0, -52(%rbp)
	jmp	.L27
.L42:
	movl	$0, -40(%rbp)
	jmp	.L28
.L41:
	movl	$0, -48(%rbp)
	jmp	.L29
.L40:
	movl	-40(%rbp), %edx
	movl	-56(%rbp), %eax
	addl	%edx, %eax
	movl	%eax, -36(%rbp)
	movl	-72(%rbp), %esi
	cmpl	$0, -52(%rbp)
	je	.L30
	movl	-40(%rbp), %edx
	movl	-48(%rbp), %eax
	addl	%edx, %eax
	jmp	.L31
.L30:
	movl	-36(%rbp), %eax
	subl	-48(%rbp), %eax
.L31:
	movl	%eax, -64(%rbp)
	movl	-36(%rbp), %eax
	movslq	%eax, %rdi
	movl	-64(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	leaq	0(,%rax,4), %rdx
	addq	%rdx, %rax
	salq	$2, %rax
	movl	-40(%rbp), %edx
	movslq	%edx, %rcx
	movq	%rcx, %rdx
	salq	$2, %rdx
	addq	%rcx, %rdx
	addq	%rdx, %rdx
	addq	%rdx, %rax
	leaq	(%rdi,%rax), %rcx
	movslq	%esi, %rax
	imulq	$10000, %rax, %rdx
	movl	-60(%rbp), %eax
	cltq
	imulq	$1000, %rax, %rax
	addq	%rdx, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	DP(%rip), %rax
	addq	%rdx, %rax
	movq	%rax, -32(%rbp)
	movq	-32(%rbp), %rax
	movl	(%rax), %eax
	movl	%eax, -44(%rbp)
	cmpl	$0, -44(%rbp)
	je	.L32
	movq	-32(%rbp), %rax
	movl	$0, (%rax)
	movl	-72(%rbp), %edi
	movl	-60(%rbp), %eax
	leal	1(%rax), %esi
	movl	-44(%rbp), %r8d
	movl	-64(%rbp), %ecx
	movl	-64(%rbp), %edx
	movl	-64(%rbp), %eax
	movl	%r8d, %r9d
	movl	%edi, %r8d
	movl	%eax, %edi
	movl	$0, %eax
	call	Dig
	cmpl	$0, -64(%rbp)
	je	.L36
	movl	-64(%rbp), %eax
	cmpl	-40(%rbp), %eax
	jle	.L34
	movl	-72(%rbp), %eax
	leal	-1(%rax), %r8d
	movl	-64(%rbp), %eax
	leal	-1(%rax), %edi
	movl	-44(%rbp), %esi
	movl	-36(%rbp), %ecx
	movl	-40(%rbp), %edx
	movl	-60(%rbp), %eax
	movl	%esi, %r9d
	movl	%eax, %esi
	movl	$0, %eax
	call	Walk
	jmp	.L36
.L34:
	movl	-72(%rbp), %ecx
	movl	-64(%rbp), %eax
	leal	-1(%rax), %esi
	movl	-64(%rbp), %eax
	leal	-1(%rax), %edi
	movl	-44(%rbp), %r8d
	movl	-36(%rbp), %edx
	movl	-60(%rbp), %eax
	movl	%r8d, %r9d
	movl	%ecx, %r8d
	movl	%edx, %ecx
	movl	%esi, %edx
	movl	%eax, %esi
	movl	$0, %eax
	call	Dig
.L36:
	movl	W(%rip), %eax
	subl	$1, %eax
	cmpl	%eax, -64(%rbp)
	jge	.L32
	movl	-64(%rbp), %eax
	cmpl	-36(%rbp), %eax
	jge	.L38
	movl	-72(%rbp), %eax
	leal	-1(%rax), %r8d
	movl	-64(%rbp), %eax
	leal	1(%rax), %edi
	movl	-44(%rbp), %esi
	movl	-36(%rbp), %ecx
	movl	-40(%rbp), %edx
	movl	-60(%rbp), %eax
	movl	%esi, %r9d
	movl	%eax, %esi
	movl	$0, %eax
	call	Walk
	jmp	.L32
.L38:
	movl	-72(%rbp), %esi
	movl	-64(%rbp), %eax
	leal	1(%rax), %ecx
	movl	-64(%rbp), %eax
	leal	1(%rax), %edi
	movl	-44(%rbp), %r8d
	movl	-40(%rbp), %edx
	movl	-60(%rbp), %eax
	movl	%r8d, %r9d
	movl	%esi, %r8d
	movl	%eax, %esi
	movl	$0, %eax
	call	Dig
.L32:
	addl	$1, -48(%rbp)
.L29:
	movl	-56(%rbp), %eax
	cmpl	-48(%rbp), %eax
	jge	.L40
	addl	$1, -40(%rbp)
.L28:
	movl	W(%rip), %eax
	subl	-56(%rbp), %eax
	cmpl	%eax, -40(%rbp)
	jl	.L41
	addl	$1, -52(%rbp)
.L27:
	cmpl	$1, -52(%rbp)
	jle	.L42
	movl	-72(%rbp), %eax
	subl	$1, %eax
	movl	%eax, -72(%rbp)
.L26:
	movl	-72(%rbp), %eax
	cmpl	$1, %eax
	jg	.L43
	addl	$1, -56(%rbp)
.L25:
	movl	W(%rip), %eax
	cmpl	%eax, -56(%rbp)
	jl	.L44
	addl	$1, -60(%rbp)
.L24:
	movl	H(%rip), %eax
	subl	$1, %eax
	cmpl	%eax, -60(%rbp)
	jl	.L45
	movl	$0, -44(%rbp)
	movl	$0, -64(%rbp)
	jmp	.L46
.L51:
	movl	$0, -72(%rbp)
	jmp	.L47
.L50:
	movl	-72(%rbp), %eax
	leal	1(%rax), %edx
	movl	H(%rip), %eax
	leal	-1(%rax), %ecx
	movl	-64(%rbp), %eax
	cltq
	imulq	$444, %rax, %rsi
	movslq	%ecx, %rax
	imulq	$4000, %rax, %rax
	leaq	(%rsi,%rax), %rcx
	movslq	%edx, %rax
	imulq	$40000, %rax, %rax
	leaq	(%rcx,%rax), %rdx
	leaq	DP(%rip), %rax
	addq	%rdx, %rax
	movq	%rax, -32(%rbp)
	movq	-32(%rbp), %rax
	movl	(%rax), %eax
	cmpl	%eax, -44(%rbp)
	jge	.L49
	movq	-32(%rbp), %rax
	movl	(%rax), %eax
	movl	%eax, -44(%rbp)
.L49:
	movq	-32(%rbp), %rax
	movl	$0, (%rax)
	movl	-72(%rbp), %eax
	addl	$1, %eax
	movl	%eax, -72(%rbp)
.L47:
	movl	-72(%rbp), %edx
	movl	m(%rip), %eax
	cmpl	%eax, %edx
	jl	.L50
	addl	$1, -64(%rbp)
.L46:
	movl	W(%rip), %eax
	cmpl	%eax, -64(%rbp)
	jl	.L51
	movl	-68(%rbp), %eax
	subl	-44(%rbp), %eax
	movl	%eax, %edx
	cmpl	$0, -44(%rbp)
	je	.L52
	leaq	.LC1(%rip), %rax
	jmp	.L53
.L52:
	leaq	.LC2(%rip), %rax
.L53:
	movl	%edx, %esi
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	testl	%eax, %eax
	sete	%al
	movzbl	%al, %eax
	movl	$80000, %edx
	movl	%eax, %esi
	leaq	DP(%rip), %rax
	movq	%rax, %rdi
	call	memset@PLT
.L16:
	leaq	-72(%rbp), %rdx
	leaq	-68(%rbp), %rax
	movq	%rdx, %r9
	leaq	m(%rip), %r8
	movq	%rax, %rcx
	leaq	H(%rip), %rax
	movq	%rax, %rdx
	leaq	W(%rip), %rax
	movq	%rax, %rsi
	leaq	.LC3(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	scanf@PLT
	movl	W(%rip), %edx
	imull	%edx, %eax
	testl	%eax, %eax
	jne	.L54
	movl	$0, %eax
	movq	-24(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L56
	call	__stack_chk_fail@PLT
.L56:
	addq	$64, %rsp
	popq	%rbx
	popq	%r12
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	main, .-main
	.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
	.globl	CalcO
	.type	CalcO, @function
CalcO:
.LFB0:
	.cfi_startproc
	endbr64
	movslq	%esi, %rsi
	movslq	%edx, %rdx
	leaq	(%rsi,%rsi,4), %rax
	leaq	(%rdx,%rax,2), %rdx
	leaq	c(%rip), %rax
	movl	(%rax,%rdx,4), %eax
	testl	%eax, %eax
	jle	.L2
	addl	%eax, %edi
	movl	m(%rip), %eax
	cmpl	%eax, %edi
	cmovg	%eax, %edi
.L2:
	xorl	%eax, %eax
	testl	%edi, %edi
	cmovns	%edi, %eax
	ret
	.cfi_endproc
.LFE0:
	.size	CalcO, .-CalcO
	.p2align 4
	.globl	CalcF
	.type	CalcF, @function
CalcF:
.LFB1:
	.cfi_startproc
	endbr64
	movslq	%esi, %rsi
	movslq	%edx, %rdx
	movl	%edi, %eax
	leaq	(%rsi,%rsi,4), %rcx
	leaq	(%rdx,%rcx,2), %rcx
	leaq	c(%rip), %rdx
	movl	(%rdx,%rcx,4), %edx
	leal	(%rdi,%rdx), %ecx
	testl	%edx, %edx
	cmovs	%ecx, %eax
	ret
	.cfi_endproc
.LFE1:
	.size	CalcF, .-CalcF
	.p2align 4
	.globl	Walk
	.type	Walk, @function
Walk:
.LFB2:
	.cfi_startproc
	endbr64
	movslq	%r8d, %r8
	movslq	%edi, %rdi
	movslq	%esi, %rsi
	movslq	%edx, %rdx
	imulq	$10000, %r8, %r8
	leaq	(%rdi,%rdi,4), %rax
	movslq	%ecx, %rcx
	imulq	$1000, %rsi, %rsi
	leaq	(%rax,%rax,4), %rax
	leaq	(%rdx,%rdx,4), %rdx
	leaq	DP(%rip), %r10
	leaq	(%r8,%rax,4), %rax
	addq	%rsi, %rax
	leaq	(%rax,%rdx,2), %rax
	addq	%rcx, %rax
	cmpl	%r9d, (%r10,%rax,4)
	jge	.L7
	movl	%r9d, (%r10,%rax,4)
.L7:
	ret
	.cfi_endproc
.LFE2:
	.size	Walk, .-Walk
	.p2align 4
	.globl	Dig
	.type	Dig, @function
Dig:
.LFB3:
	.cfi_startproc
	endbr64
	movl	%esi, %r10d
	movslq	%edi, %rax
	movslq	%ecx, %rsi
	subl	$1, %r8d
	leaq	(%rax,%rax,4), %rdi
	movslq	%r10d, %rcx
	leaq	(%rcx,%rdi,2), %r10
	leaq	c(%rip), %rdi
	movl	(%rdi,%r10,4), %edi
	testl	%edi, %edi
	js	.L15
	je	.L10
	addl	%edi, %r8d
	movl	m(%rip), %edi
	cmpl	%edi, %r8d
	cmovg	%edi, %r8d
.L10:
	xorl	%edi, %edi
	testl	%r8d, %r8d
	movslq	%edx, %rdx
	cmovs	%edi, %r8d
	leaq	(%rax,%rax,4), %rax
	leaq	(%rdx,%rdx,4), %rdx
	imulq	$1000, %rcx, %rcx
	leaq	(%rax,%rax,4), %rax
	movslq	%r8d, %r8
	leaq	DP(%rip), %rdi
	imulq	$10000, %r8, %r8
	leaq	(%r8,%rax,4), %rax
	addq	%rcx, %rax
	leaq	(%rax,%rdx,2), %rax
	addq	%rsi, %rax
	cmpl	%r9d, (%rdi,%rax,4)
	jge	.L11
	movl	%r9d, (%rdi,%rax,4)
.L11:
	ret
	.p2align 4,,10
	.p2align 3
.L15:
	addl	%edi, %r9d
	jmp	.L10
	.cfi_endproc
.LFE3:
	.size	Dig, .-Dig
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"%d\n"
.LC1:
	.string	"NA\n"
.LC2:
	.string	"%d"
.LC3:
	.string	"%d%d%d%d%d"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB4:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	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	96(%rsp), %rax
	movq	%rax, 80(%rsp)
	leaq	100(%rsp), %rax
	movq	%rax, 88(%rsp)
.L17:
	movq	80(%rsp), %r9
	movq	88(%rsp), %rcx
	xorl	%eax, %eax
	leaq	.LC3(%rip), %rdi
	leaq	m(%rip), %r8
	leaq	H(%rip), %rdx
	leaq	W(%rip), %rsi
	call	scanf@PLT
	movl	W(%rip), %edi
	imull	%edi, %eax
	movl	%edi, 52(%rsp)
	testl	%eax, %eax
	je	.L80
	movl	H(%rip), %eax
	xorl	%ebp, %ebp
	movl	%eax, 60(%rsp)
	testl	%eax, %eax
	jle	.L82
	movl	%edi, %eax
	testl	%eax, %eax
	jle	.L139
.L21:
	leaq	c(%rip), %rax
	xorl	%r12d, %r12d
	leaq	(%rax,%rbp,4), %r13
.L18:
	movq	%r13, %rsi
	leaq	.LC2(%rip), %rdi
	xorl	%eax, %eax
	addl	$1, %r12d
	call	scanf@PLT
	movl	W(%rip), %eax
	addq	$40, %r13
	cmpl	%r12d, %eax
	jg	.L18
	movl	H(%rip), %edi
	leal	1(%rbp), %edx
	movl	%edi, 60(%rsp)
	cmpl	%edx, %edi
	jle	.L139
	addq	$1, %rbp
	testl	%eax, %eax
	jg	.L21
.L139:
	movl	%eax, 52(%rsp)
.L82:
	movl	100(%rsp), %eax
	leaq	DP(%rip), %r14
	addl	$1, %eax
	movl	%eax, 48(%rsp)
	movl	%eax, 100(%rsp)
	movl	96(%rsp), %eax
	cmpl	$1, %eax
	jg	.L22
.L25:
	movl	60(%rsp), %eax
	subl	$1, %eax
	movl	%eax, 68(%rsp)
	testl	%eax, %eax
	jle	.L46
	movl	m(%rip), %edi
	movl	$1, %eax
	movl	$0, 64(%rsp)
	movq	%r14, %r13
	testl	%edi, %edi
	movl	%edi, 32(%rsp)
	cmovle	%edi, %eax
	movl	52(%rsp), %edi
	leal	1(%rdi), %esi
	subl	$1, %edi
	movl	%eax, 72(%rsp)
	xorl	%eax, %eax
	movl	%esi, 76(%rsp)
	movl	%edi, 20(%rsp)
.L47:
	movl	64(%rsp), %edi
	movl	52(%rsp), %esi
	movl	$1, %r12d
	movl	%edi, %edx
	addl	$1, %edi
	movl	%esi, 36(%rsp)
	movl	%edi, 64(%rsp)
	testl	%esi, %esi
	jle	.L74
	movslq	%edx, %rax
	movq	%rax, 40(%rsp)
	imulq	$1000, %rax, %r14
	movslq	%edi, %rax
	movq	%rax, (%rsp)
	imulq	$4000, %rax, %rax
	movq	%rax, 8(%rsp)
.L71:
	movl	32(%rsp), %eax
	cmpl	$1, %eax
	jle	.L48
	movl	76(%rsp), %ebx
	movl	%eax, 16(%rsp)
	subl	%r12d, %ebx
	movl	%ebx, 56(%rsp)
.L49:
	movl	16(%rsp), %eax
	xorl	%ebp, %ebp
	movslq	%eax, %rbx
	subl	$1, %eax
	movl	%eax, 16(%rsp)
	imulq	$10000, %rbx, %rbx
.L70:
	movl	56(%rsp), %eax
	testl	%eax, %eax
	jle	.L69
	movslq	16(%rsp), %rax
	leal	-1(%r12), %r10d
	xorl	%r8d, %r8d
	imulq	$10000, %rax, %rax
	movq	%rax, 24(%rsp)
	.p2align 4,,10
	.p2align 3
.L66:
	movslq	%r8d, %rax
	xorl	%esi, %esi
	movslq	%r10d, %r11
	leaq	(%rax,%rax,4), %r9
	addq	%r9, %r9
	jmp	.L65
	.p2align 4,,10
	.p2align 3
.L53:
	addl	$1, %esi
	cmpl	%r12d, %esi
	je	.L140
.L65:
	movl	%r10d, %ecx
	leal	(%rsi,%r8), %eax
	subl	%esi, %ecx
	testl	%ebp, %ebp
	cmovne	%eax, %ecx
	movslq	%ecx, %rdx
	leaq	(%rdx,%rdx,4), %r15
	leaq	(%r15,%r15,4), %rax
	leaq	(%rbx,%rax,4), %rax
	addq	%r14, %rax
	addq	%r9, %rax
	addq	%r11, %rax
	movl	0(%r13,%rax,4), %edi
	testl	%edi, %edi
	je	.L53
	movl	$0, 0(%r13,%rax,4)
	movq	(%rsp), %rax
	leaq	(%rax,%r15,2), %rax
	leaq	c(%rip), %r15
	movl	(%r15,%rax,4), %eax
	testl	%eax, %eax
	js	.L141
	je	.L84
	movl	32(%rsp), %r15d
	addl	16(%rsp), %eax
	cmpl	%r15d, %eax
	cmovg	%r15d, %eax
	movl	%edi, %r15d
.L55:
	imulq	$444, %rdx, %rdx
	cltq
	addq	8(%rsp), %rdx
	imulq	$40000, %rax, %rax
	addq	%rax, %rdx
	addq	%r13, %rdx
	cmpl	%r15d, (%rdx)
	jge	.L56
	movl	%r15d, (%rdx)
.L56:
	testl	%ecx, %ecx
	je	.L57
	leal	-1(%rcx), %eax
	cltq
	cmpl	%r8d, %ecx
	jle	.L58
	movq	24(%rsp), %rdx
	leaq	(%rax,%rax,4), %rax
	leaq	(%rax,%rax,4), %rax
	leaq	(%rdx,%rax,4), %rax
	addq	%r14, %rax
	addq	%r9, %rax
	addq	%r11, %rax
	cmpl	0(%r13,%rax,4), %edi
	jle	.L57
	movl	%edi, 0(%r13,%rax,4)
	.p2align 4,,10
	.p2align 3
.L57:
	cmpl	%ecx, 20(%rsp)
	jle	.L53
	leal	1(%rcx), %eax
	cltq
	cmpl	%r10d, %ecx
	jge	.L62
	movq	24(%rsp), %rdx
	leaq	(%rax,%rax,4), %rax
	leaq	(%rax,%rax,4), %rax
	leaq	(%rdx,%rax,4), %rax
	addq	%r14, %rax
	addq	%r9, %rax
	addq	%r11, %rax
	cmpl	0(%r13,%rax,4), %edi
	jle	.L53
	addl	$1, %esi
	movl	%edi, 0(%r13,%rax,4)
	cmpl	%r12d, %esi
	jne	.L65
	.p2align 4,,10
	.p2align 3
.L140:
	addl	$1, %r8d
	addl	$1, %r10d
	cmpl	36(%rsp), %r8d
	jne	.L66
.L69:
	cmpl	$1, %ebp
	je	.L67
	movl	$1, %ebp
	jmp	.L70
	.p2align 4,,10
	.p2align 3
.L141:
	leal	(%rdi,%rax), %r15d
	movl	16(%rsp), %eax
	jmp	.L55
	.p2align 4,,10
	.p2align 3
.L58:
	movq	40(%rsp), %r15
	leaq	(%rax,%rax,4), %rdx
	leaq	(%r15,%rdx,2), %rdx
	leaq	c(%rip), %r15
	movl	(%r15,%rdx,4), %edx
	testl	%edx, %edx
	js	.L142
	je	.L85
	movl	32(%rsp), %r15d
	addl	16(%rsp), %edx
	cmpl	%r15d, %edx
	cmovg	%r15d, %edx
	movl	%edi, %r15d
.L60:
	imulq	$110, %rax, %rax
	movslq	%edx, %rdx
	imulq	$10000, %rdx, %rdx
	addq	%r14, %rdx
	addq	%rax, %rdx
	addq	%r11, %rdx
	cmpl	%r15d, 0(%r13,%rdx,4)
	jge	.L57
	movl	%r15d, 0(%r13,%rdx,4)
	jmp	.L57
	.p2align 4,,10
	.p2align 3
.L62:
	movq	40(%rsp), %rcx
	leaq	(%rax,%rax,4), %rdx
	leaq	(%rcx,%rdx,2), %rdx
	leaq	c(%rip), %rcx
	movl	(%rcx,%rdx,4), %edx
	testl	%edx, %edx
	js	.L143
	je	.L86
	movl	32(%rsp), %ecx
	addl	16(%rsp), %edx
	cmpl	%ecx, %edx
	cmovg	%ecx, %edx
.L64:
	movslq	%edx, %rdx
	leaq	(%rax,%rax,4), %rcx
	imulq	$10000, %rdx, %rdx
	leaq	(%rcx,%rcx,4), %rcx
	leaq	(%rdx,%rcx,4), %rdx
	addq	%r14, %rdx
	addq	%r9, %rdx
	addq	%rax, %rdx
	cmpl	%edi, 0(%r13,%rdx,4)
	jge	.L53
	movl	%edi, 0(%r13,%rdx,4)
	jmp	.L53
	.p2align 4,,10
	.p2align 3
.L142:
	leal	(%rdi,%rdx), %r15d
	movl	16(%rsp), %edx
	jmp	.L60
	.p2align 4,,10
	.p2align 3
.L143:
	addl	%edx, %edi
	movl	16(%rsp), %edx
	jmp	.L64
.L67:
	cmpl	$1, 16(%rsp)
	jne	.L49
.L48:
	subl	$1, 36(%rsp)
	leal	1(%r12), %eax
	cmpl	52(%rsp), %r12d
	je	.L144
	movl	%eax, %r12d
	jmp	.L71
.L144:
	movl	72(%rsp), %ebx
	movl	$1, %eax
.L74:
	movl	64(%rsp), %esi
	cmpl	%esi, 68(%rsp)
	jne	.L47
	movq	%r13, %r14
	testb	%al, %al
	je	.L46
	movl	%ebx, 96(%rsp)
.L46:
	movl	52(%rsp), %esi
	testl	%esi, %esi
	jle	.L75
	movslq	68(%rsp), %rax
	leaq	36444+DP(%rip), %rdx
	movl	m(%rip), %edi
	imulq	$4000, %rax, %rax
	leal	1(%rdi), %r10d
	leaq	40000(%r14,%rax), %rcx
	movslq	60(%rsp), %rax
	imulq	$4000, %rax, %rax
	addq	%rax, %rdx
	leal	-1(%rsi), %eax
	imulq	$444, %rax, %rax
	addq	%rax, %rdx
	xorl	%eax, %eax
.L78:
	testl	%edi, %edi
	jle	.L88
	movq	%rcx, %rsi
	movl	$1, %r8d
.L77:
	movl	(%rsi), %r9d
	movl	$0, (%rsi)
	cmpl	%r9d, %eax
	cmovl	%r9d, %eax
	addq	$1, %r8
	addq	$40000, %rsi
	cmpq	%r10, %r8
	jne	.L77
	movl	%edi, %esi
.L76:
	addq	$444, %rcx
	cmpq	%rdx, %rcx
	jne	.L78
	subl	%eax, 48(%rsp)
	leaq	.LC0(%rip), %rdi
	movl	%esi, 96(%rsp)
	testl	%eax, %eax
	je	.L75
.L79:
	movl	48(%rsp), %esi
	xorl	%eax, %eax
	call	printf@PLT
	xorl	%esi, %esi
	movl	$80000, %edx
	movq	%r14, %rdi
	testl	%eax, %eax
	sete	%sil
	call	memset@PLT
	jmp	.L17
.L88:
	xorl	%esi, %esi
	jmp	.L76
.L75:
	leaq	.LC1(%rip), %rdi
	jmp	.L79
.L22:
	movl	52(%rsp), %edx
	testl	%edx, %edx
	jle	.L25
	leaq	c(%rip), %rdi
	movl	m(%rip), %edx
	subl	$1, %eax
	movl	(%rdi), %ecx
	testl	%ecx, %ecx
	jle	.L145
	addl	%eax, %ecx
	cmpl	%edx, %ecx
	cmovg	%edx, %ecx
	xorl	%esi, %esi
	testl	%ecx, %ecx
	cmovs	%esi, %ecx
	movl	48(%rsp), %esi
.L27:
	movslq	%ecx, %rcx
	leaq	DP(%rip), %r14
	imulq	$40000, %rcx, %rcx
	cmpl	$1, 52(%rsp)
	movl	%esi, (%r14,%rcx)
	je	.L25
	movl	40+c(%rip), %ecx
	testl	%ecx, %ecx
	jle	.L146
	addl	%eax, %ecx
	cmpl	%edx, %ecx
	cmovg	%edx, %ecx
	xorl	%esi, %esi
	testl	%ecx, %ecx
	cmovs	%esi, %ecx
	movl	48(%rsp), %esi
.L29:
	movslq	%ecx, %rcx
	imulq	$40000, %rcx, %rcx
	cmpl	$2, 52(%rsp)
	movl	%esi, 444(%r14,%rcx)
	je	.L25
	movl	80+c(%rip), %ecx
	testl	%ecx, %ecx
	jle	.L147
	addl	%eax, %ecx
	cmpl	%edx, %ecx
	cmovg	%edx, %ecx
	xorl	%esi, %esi
	testl	%ecx, %ecx
	cmovs	%esi, %ecx
	movl	48(%rsp), %esi
.L31:
	movslq	%ecx, %rcx
	imulq	$40000, %rcx, %rcx
	cmpl	$3, 52(%rsp)
	movl	%esi, 888(%r14,%rcx)
	je	.L25
	movl	120+c(%rip), %ecx
	testl	%ecx, %ecx
	jle	.L148
	addl	%eax, %ecx
	cmpl	%edx, %ecx
	cmovg	%edx, %ecx
	xorl	%esi, %esi
	testl	%ecx, %ecx
	cmovs	%esi, %ecx
	movl	48(%rsp), %esi
.L33:
	movslq	%ecx, %rcx
	imulq	$40000, %rcx, %rcx
	cmpl	$4, 52(%rsp)
	movl	%esi, 1332(%r14,%rcx)
	je	.L25
	movl	160+c(%rip), %ecx
	testl	%ecx, %ecx
	jle	.L149
	addl	%eax, %ecx
	cmpl	%edx, %ecx
	cmovg	%edx, %ecx
	xorl	%esi, %esi
	testl	%ecx, %ecx
	cmovs	%esi, %ecx
	movl	48(%rsp), %esi
.L35:
	movslq	%ecx, %rcx
	imulq	$40000, %rcx, %rcx
	cmpl	$5, 52(%rsp)
	movl	%esi, 1776(%r14,%rcx)
	je	.L25
	movl	200+c(%rip), %ecx
	testl	%ecx, %ecx
	jle	.L150
	addl	%eax, %ecx
	cmpl	%edx, %ecx
	cmovg	%edx, %ecx
	xorl	%esi, %esi
	testl	%ecx, %ecx
	cmovs	%esi, %ecx
	movl	48(%rsp), %esi
.L37:
	movslq	%ecx, %rcx
	imulq	$40000, %rcx, %rcx
	cmpl	$6, 52(%rsp)
	movl	%esi, 2220(%r14,%rcx)
	je	.L25
	movl	240+c(%rip), %ecx
	testl	%ecx, %ecx
	jle	.L151
	addl	%eax, %ecx
	cmpl	%edx, %ecx
	cmovg	%edx, %ecx
	xorl	%esi, %esi
	testl	%ecx, %ecx
	cmovs	%esi, %ecx
	movl	48(%rsp), %esi
.L39:
	movslq	%ecx, %rcx
	imulq	$40000, %rcx, %rcx
	cmpl	$7, 52(%rsp)
	movl	%esi, 2664(%r14,%rcx)
	je	.L25
	movl	280+c(%rip), %ecx
	testl	%ecx, %ecx
	jle	.L152
	addl	%eax, %ecx
	cmpl	%edx, %ecx
	cmovg	%edx, %ecx
	xorl	%esi, %esi
	testl	%ecx, %ecx
	cmovs	%esi, %ecx
	movl	48(%rsp), %esi
.L41:
	movslq	%ecx, %rcx
	imulq	$40000, %rcx, %rcx
	cmpl	$8, 52(%rsp)
	movl	%esi, 3108(%r14,%rcx)
	je	.L25
	movl	320+c(%rip), %ecx
	testl	%ecx, %ecx
	jle	.L153
	addl	%eax, %ecx
	cmpl	%edx, %ecx
	cmovg	%edx, %ecx
	xorl	%esi, %esi
	testl	%ecx, %ecx
	cmovs	%esi, %ecx
	movl	48(%rsp), %esi
.L43:
	movslq	%ecx, %rcx
	imulq	$40000, %rcx, %rcx
	cmpl	$9, 52(%rsp)
	movl	%esi, 3552(%r14,%rcx)
	je	.L25
	movl	360+c(%rip), %ecx
	movl	48(%rsp), %edi
	leal	(%rdi,%rcx), %esi
	testl	%ecx, %ecx
	jle	.L45
	addl	%eax, %ecx
	movl	%edx, %eax
	movl	%edi, %esi
	cmpl	%edx, %ecx
	cmovle	%ecx, %eax
	xorl	%edx, %edx
	testl	%eax, %eax
	cmovs	%edx, %eax
.L45:
	cltq
	imulq	$40000, %rax, %rax
	movl	%esi, 3996(%r14,%rax)
	jmp	.L25
.L151:
	movl	48(%rsp), %edi
	leal	(%rdi,%rcx), %esi
	movl	%eax, %ecx
	jmp	.L39
.L150:
	movl	48(%rsp), %edi
	leal	(%rdi,%rcx), %esi
	movl	%eax, %ecx
	jmp	.L37
.L149:
	movl	48(%rsp), %edi
	leal	(%rdi,%rcx), %esi
	movl	%eax, %ecx
	jmp	.L35
.L148:
	movl	48(%rsp), %edi
	leal	(%rdi,%rcx), %esi
	movl	%eax, %ecx
	jmp	.L33
.L147:
	movl	48(%rsp), %edi
	leal	(%rcx,%rdi), %esi
	movl	%eax, %ecx
	jmp	.L31
.L146:
	movl	48(%rsp), %edi
	leal	(%rdi,%rcx), %esi
	movl	%eax, %ecx
	jmp	.L29
.L145:
	movl	48(%rsp), %edi
	leal	(%rdi,%rcx), %esi
	movl	%eax, %ecx
	jmp	.L27
.L80:
	movq	104(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L154
	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
.L153:
	.cfi_restore_state
	movl	48(%rsp), %edi
	leal	(%rdi,%rcx), %esi
	movl	%eax, %ecx
	jmp	.L43
.L152:
	movl	48(%rsp), %edi
	leal	(%rdi,%rcx), %esi
	movl	%eax, %ecx
	jmp	.L41
.L84:
	movl	16(%rsp), %eax
	movl	%edi, %r15d
	jmp	.L55
.L154:
	call	__stack_chk_fail@PLT
.L86:
	movl	16(%rsp), %edx
	jmp	.L64
.L85:
	movl	16(%rsp), %edx
	movl	%edi, %r15d
	jmp	.L60
	.cfi_endproc
.LFE4:
	.size	main, .-main
	.globl	DP
	.bss
	.align 32
	.type	DP, @object
	.size	DP, 2040000
DP:
	.zero	2040000
	.globl	c
	.align 32
	.type	c, @object
	.size	c, 400
c:
	.zero	400
	.globl	m
	.align 4
	.type	m, @object
	.size	m, 4
m:
	.zero	4
	.globl	H
	.align 4
	.type	H, @object
	.size	H, 4
H:
	.zero	4
	.globl	W
	.align 4
	.type	W, @object
	.size	W, 4
W:
	.zero	4
	.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
	.globl	CalcO
	.type	CalcO, @function
CalcO:
.LFB0:
	.cfi_startproc
	endbr64
	movslq	%esi, %rsi
	movslq	%edx, %rdx
	leaq	(%rsi,%rsi,4), %rax
	leaq	(%rdx,%rax,2), %rdx
	leaq	c(%rip), %rax
	movl	(%rax,%rdx,4), %eax
	testl	%eax, %eax
	jle	.L2
	addl	%eax, %edi
	movl	m(%rip), %eax
	cmpl	%eax, %edi
	cmovg	%eax, %edi
.L2:
	xorl	%eax, %eax
	testl	%edi, %edi
	cmovns	%edi, %eax
	ret
	.cfi_endproc
.LFE0:
	.size	CalcO, .-CalcO
	.p2align 4
	.globl	CalcF
	.type	CalcF, @function
CalcF:
.LFB1:
	.cfi_startproc
	endbr64
	movslq	%esi, %rsi
	movslq	%edx, %rdx
	movl	%edi, %eax
	leaq	(%rsi,%rsi,4), %rcx
	leaq	(%rdx,%rcx,2), %rcx
	leaq	c(%rip), %rdx
	movl	(%rdx,%rcx,4), %edx
	leal	(%rdi,%rdx), %ecx
	testl	%edx, %edx
	cmovs	%ecx, %eax
	ret
	.cfi_endproc
.LFE1:
	.size	CalcF, .-CalcF
	.p2align 4
	.globl	Walk
	.type	Walk, @function
Walk:
.LFB2:
	.cfi_startproc
	endbr64
	movslq	%r8d, %r8
	movslq	%edi, %rdi
	movslq	%esi, %rsi
	movslq	%edx, %rdx
	imulq	$10000, %r8, %r8
	leaq	(%rdi,%rdi,4), %rax
	movslq	%ecx, %rcx
	imulq	$1000, %rsi, %rsi
	leaq	(%rax,%rax,4), %rax
	leaq	(%rdx,%rdx,4), %rdx
	leaq	DP(%rip), %r10
	leaq	(%r8,%rax,4), %rax
	addq	%rsi, %rax
	leaq	(%rax,%rdx,2), %rax
	addq	%rcx, %rax
	cmpl	%r9d, (%r10,%rax,4)
	jge	.L7
	movl	%r9d, (%r10,%rax,4)
.L7:
	ret
	.cfi_endproc
.LFE2:
	.size	Walk, .-Walk
	.p2align 4
	.globl	Dig
	.type	Dig, @function
Dig:
.LFB3:
	.cfi_startproc
	endbr64
	movl	%esi, %r10d
	movslq	%edi, %rax
	movslq	%ecx, %rsi
	subl	$1, %r8d
	leaq	(%rax,%rax,4), %rdi
	movslq	%r10d, %rcx
	leaq	(%rcx,%rdi,2), %r10
	leaq	c(%rip), %rdi
	movl	(%rdi,%r10,4), %edi
	testl	%edi, %edi
	js	.L15
	je	.L10
	addl	%edi, %r8d
	movl	m(%rip), %edi
	cmpl	%edi, %r8d
	cmovg	%edi, %r8d
.L10:
	xorl	%edi, %edi
	testl	%r8d, %r8d
	movslq	%edx, %rdx
	cmovs	%edi, %r8d
	leaq	(%rax,%rax,4), %rax
	leaq	(%rdx,%rdx,4), %rdx
	imulq	$1000, %rcx, %rcx
	leaq	(%rax,%rax,4), %rax
	movslq	%r8d, %r8
	leaq	DP(%rip), %rdi
	imulq	$10000, %r8, %r8
	leaq	(%r8,%rax,4), %rax
	addq	%rcx, %rax
	leaq	(%rax,%rdx,2), %rax
	addq	%rsi, %rax
	cmpl	%r9d, (%rdi,%rax,4)
	jge	.L11
	movl	%r9d, (%rdi,%rax,4)
.L11:
	ret
	.p2align 4,,10
	.p2align 3
.L15:
	addl	%edi, %r9d
	jmp	.L10
	.cfi_endproc
.LFE3:
	.size	Dig, .-Dig
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"%d\n"
.LC1:
	.string	"NA\n"
.LC2:
	.string	"%d"
.LC3:
	.string	"%d%d%d%d%d"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB4:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	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	96(%rsp), %rax
	movq	%rax, 80(%rsp)
	leaq	100(%rsp), %rax
	movq	%rax, 88(%rsp)
.L17:
	movq	80(%rsp), %r9
	movq	88(%rsp), %rcx
	xorl	%eax, %eax
	leaq	.LC3(%rip), %rdi
	leaq	m(%rip), %r8
	leaq	H(%rip), %rdx
	leaq	W(%rip), %rsi
	call	scanf@PLT
	movl	W(%rip), %edi
	imull	%edi, %eax
	movl	%edi, 52(%rsp)
	testl	%eax, %eax
	je	.L80
	movl	H(%rip), %eax
	xorl	%ebp, %ebp
	movl	%eax, 60(%rsp)
	testl	%eax, %eax
	jle	.L82
	movl	%edi, %eax
	testl	%eax, %eax
	jle	.L139
.L21:
	leaq	c(%rip), %rax
	xorl	%r12d, %r12d
	leaq	(%rax,%rbp,4), %r13
.L18:
	movq	%r13, %rsi
	leaq	.LC2(%rip), %rdi
	xorl	%eax, %eax
	addl	$1, %r12d
	call	scanf@PLT
	movl	W(%rip), %eax
	addq	$40, %r13
	cmpl	%r12d, %eax
	jg	.L18
	movl	H(%rip), %edi
	leal	1(%rbp), %edx
	movl	%edi, 60(%rsp)
	cmpl	%edx, %edi
	jle	.L139
	addq	$1, %rbp
	testl	%eax, %eax
	jg	.L21
.L139:
	movl	%eax, 52(%rsp)
.L82:
	movl	100(%rsp), %eax
	leaq	DP(%rip), %r14
	addl	$1, %eax
	movl	%eax, 48(%rsp)
	movl	%eax, 100(%rsp)
	movl	96(%rsp), %eax
	cmpl	$1, %eax
	jg	.L22
.L25:
	movl	60(%rsp), %eax
	subl	$1, %eax
	movl	%eax, 68(%rsp)
	testl	%eax, %eax
	jle	.L46
	movl	m(%rip), %edi
	movl	$1, %eax
	movl	$0, 64(%rsp)
	movq	%r14, %r13
	testl	%edi, %edi
	movl	%edi, 32(%rsp)
	cmovle	%edi, %eax
	movl	52(%rsp), %edi
	leal	1(%rdi), %esi
	subl	$1, %edi
	movl	%eax, 72(%rsp)
	xorl	%eax, %eax
	movl	%esi, 76(%rsp)
	movl	%edi, 20(%rsp)
.L47:
	movl	64(%rsp), %edi
	movl	52(%rsp), %esi
	movl	$1, %r12d
	movl	%edi, %edx
	addl	$1, %edi
	movl	%esi, 36(%rsp)
	movl	%edi, 64(%rsp)
	testl	%esi, %esi
	jle	.L74
	movslq	%edx, %rax
	movq	%rax, 40(%rsp)
	imulq	$1000, %rax, %r14
	movslq	%edi, %rax
	movq	%rax, (%rsp)
	imulq	$4000, %rax, %rax
	movq	%rax, 8(%rsp)
.L71:
	movl	32(%rsp), %eax
	cmpl	$1, %eax
	jle	.L48
	movl	76(%rsp), %ebx
	movl	%eax, 16(%rsp)
	subl	%r12d, %ebx
	movl	%ebx, 56(%rsp)
.L49:
	movl	16(%rsp), %eax
	xorl	%ebp, %ebp
	movslq	%eax, %rbx
	subl	$1, %eax
	movl	%eax, 16(%rsp)
	imulq	$10000, %rbx, %rbx
.L70:
	movl	56(%rsp), %eax
	testl	%eax, %eax
	jle	.L69
	movslq	16(%rsp), %rax
	leal	-1(%r12), %r10d
	xorl	%r8d, %r8d
	imulq	$10000, %rax, %rax
	movq	%rax, 24(%rsp)
	.p2align 4,,10
	.p2align 3
.L66:
	movslq	%r8d, %rax
	xorl	%esi, %esi
	movslq	%r10d, %r11
	leaq	(%rax,%rax,4), %r9
	addq	%r9, %r9
	jmp	.L65
	.p2align 4,,10
	.p2align 3
.L53:
	addl	$1, %esi
	cmpl	%r12d, %esi
	je	.L140
.L65:
	movl	%r10d, %ecx
	leal	(%rsi,%r8), %eax
	subl	%esi, %ecx
	testl	%ebp, %ebp
	cmovne	%eax, %ecx
	movslq	%ecx, %rdx
	leaq	(%rdx,%rdx,4), %r15
	leaq	(%r15,%r15,4), %rax
	leaq	(%rbx,%rax,4), %rax
	addq	%r14, %rax
	addq	%r9, %rax
	addq	%r11, %rax
	movl	0(%r13,%rax,4), %edi
	testl	%edi, %edi
	je	.L53
	movl	$0, 0(%r13,%rax,4)
	movq	(%rsp), %rax
	leaq	(%rax,%r15,2), %rax
	leaq	c(%rip), %r15
	movl	(%r15,%rax,4), %eax
	testl	%eax, %eax
	js	.L141
	je	.L84
	movl	32(%rsp), %r15d
	addl	16(%rsp), %eax
	cmpl	%r15d, %eax
	cmovg	%r15d, %eax
	movl	%edi, %r15d
.L55:
	imulq	$444, %rdx, %rdx
	cltq
	addq	8(%rsp), %rdx
	imulq	$40000, %rax, %rax
	addq	%rax, %rdx
	addq	%r13, %rdx
	cmpl	%r15d, (%rdx)
	jge	.L56
	movl	%r15d, (%rdx)
.L56:
	testl	%ecx, %ecx
	je	.L57
	leal	-1(%rcx), %eax
	cltq
	cmpl	%r8d, %ecx
	jle	.L58
	movq	24(%rsp), %rdx
	leaq	(%rax,%rax,4), %rax
	leaq	(%rax,%rax,4), %rax
	leaq	(%rdx,%rax,4), %rax
	addq	%r14, %rax
	addq	%r9, %rax
	addq	%r11, %rax
	cmpl	0(%r13,%rax,4), %edi
	jle	.L57
	movl	%edi, 0(%r13,%rax,4)
	.p2align 4,,10
	.p2align 3
.L57:
	cmpl	%ecx, 20(%rsp)
	jle	.L53
	leal	1(%rcx), %eax
	cltq
	cmpl	%r10d, %ecx
	jge	.L62
	movq	24(%rsp), %rdx
	leaq	(%rax,%rax,4), %rax
	leaq	(%rax,%rax,4), %rax
	leaq	(%rdx,%rax,4), %rax
	addq	%r14, %rax
	addq	%r9, %rax
	addq	%r11, %rax
	cmpl	0(%r13,%rax,4), %edi
	jle	.L53
	addl	$1, %esi
	movl	%edi, 0(%r13,%rax,4)
	cmpl	%r12d, %esi
	jne	.L65
	.p2align 4,,10
	.p2align 3
.L140:
	addl	$1, %r8d
	addl	$1, %r10d
	cmpl	36(%rsp), %r8d
	jne	.L66
.L69:
	cmpl	$1, %ebp
	je	.L67
	movl	$1, %ebp
	jmp	.L70
	.p2align 4,,10
	.p2align 3
.L141:
	leal	(%rdi,%rax), %r15d
	movl	16(%rsp), %eax
	jmp	.L55
	.p2align 4,,10
	.p2align 3
.L58:
	movq	40(%rsp), %r15
	leaq	(%rax,%rax,4), %rdx
	leaq	(%r15,%rdx,2), %rdx
	leaq	c(%rip), %r15
	movl	(%r15,%rdx,4), %edx
	testl	%edx, %edx
	js	.L142
	je	.L85
	movl	32(%rsp), %r15d
	addl	16(%rsp), %edx
	cmpl	%r15d, %edx
	cmovg	%r15d, %edx
	movl	%edi, %r15d
.L60:
	imulq	$110, %rax, %rax
	movslq	%edx, %rdx
	imulq	$10000, %rdx, %rdx
	addq	%r14, %rdx
	addq	%rax, %rdx
	addq	%r11, %rdx
	cmpl	%r15d, 0(%r13,%rdx,4)
	jge	.L57
	movl	%r15d, 0(%r13,%rdx,4)
	jmp	.L57
	.p2align 4,,10
	.p2align 3
.L62:
	movq	40(%rsp), %rcx
	leaq	(%rax,%rax,4), %rdx
	leaq	(%rcx,%rdx,2), %rdx
	leaq	c(%rip), %rcx
	movl	(%rcx,%rdx,4), %edx
	testl	%edx, %edx
	js	.L143
	je	.L86
	movl	32(%rsp), %ecx
	addl	16(%rsp), %edx
	cmpl	%ecx, %edx
	cmovg	%ecx, %edx
.L64:
	movslq	%edx, %rdx
	leaq	(%rax,%rax,4), %rcx
	imulq	$10000, %rdx, %rdx
	leaq	(%rcx,%rcx,4), %rcx
	leaq	(%rdx,%rcx,4), %rdx
	addq	%r14, %rdx
	addq	%r9, %rdx
	addq	%rax, %rdx
	cmpl	%edi, 0(%r13,%rdx,4)
	jge	.L53
	movl	%edi, 0(%r13,%rdx,4)
	jmp	.L53
	.p2align 4,,10
	.p2align 3
.L142:
	leal	(%rdi,%rdx), %r15d
	movl	16(%rsp), %edx
	jmp	.L60
	.p2align 4,,10
	.p2align 3
.L143:
	addl	%edx, %edi
	movl	16(%rsp), %edx
	jmp	.L64
.L67:
	cmpl	$1, 16(%rsp)
	jne	.L49
.L48:
	subl	$1, 36(%rsp)
	leal	1(%r12), %eax
	cmpl	52(%rsp), %r12d
	je	.L144
	movl	%eax, %r12d
	jmp	.L71
.L144:
	movl	72(%rsp), %ebx
	movl	$1, %eax
.L74:
	movl	64(%rsp), %esi
	cmpl	%esi, 68(%rsp)
	jne	.L47
	movq	%r13, %r14
	testb	%al, %al
	je	.L46
	movl	%ebx, 96(%rsp)
.L46:
	movl	52(%rsp), %esi
	testl	%esi, %esi
	jle	.L75
	movslq	68(%rsp), %rax
	leaq	36444+DP(%rip), %rdx
	movl	m(%rip), %edi
	imulq	$4000, %rax, %rax
	leal	1(%rdi), %r10d
	leaq	40000(%r14,%rax), %rcx
	movslq	60(%rsp), %rax
	imulq	$4000, %rax, %rax
	addq	%rax, %rdx
	leal	-1(%rsi), %eax
	imulq	$444, %rax, %rax
	addq	%rax, %rdx
	xorl	%eax, %eax
.L78:
	testl	%edi, %edi
	jle	.L88
	movq	%rcx, %rsi
	movl	$1, %r8d
.L77:
	movl	(%rsi), %r9d
	movl	$0, (%rsi)
	cmpl	%r9d, %eax
	cmovl	%r9d, %eax
	addq	$1, %r8
	addq	$40000, %rsi
	cmpq	%r10, %r8
	jne	.L77
	movl	%edi, %esi
.L76:
	addq	$444, %rcx
	cmpq	%rdx, %rcx
	jne	.L78
	subl	%eax, 48(%rsp)
	leaq	.LC0(%rip), %rdi
	movl	%esi, 96(%rsp)
	testl	%eax, %eax
	je	.L75
.L79:
	movl	48(%rsp), %esi
	xorl	%eax, %eax
	call	printf@PLT
	xorl	%esi, %esi
	movl	$80000, %edx
	movq	%r14, %rdi
	testl	%eax, %eax
	sete	%sil
	call	memset@PLT
	jmp	.L17
.L88:
	xorl	%esi, %esi
	jmp	.L76
.L75:
	leaq	.LC1(%rip), %rdi
	jmp	.L79
.L22:
	movl	52(%rsp), %edx
	testl	%edx, %edx
	jle	.L25
	leaq	c(%rip), %rdi
	movl	m(%rip), %edx
	subl	$1, %eax
	movl	(%rdi), %ecx
	testl	%ecx, %ecx
	jle	.L145
	addl	%eax, %ecx
	cmpl	%edx, %ecx
	cmovg	%edx, %ecx
	xorl	%esi, %esi
	testl	%ecx, %ecx
	cmovs	%esi, %ecx
	movl	48(%rsp), %esi
.L27:
	movslq	%ecx, %rcx
	leaq	DP(%rip), %r14
	imulq	$40000, %rcx, %rcx
	cmpl	$1, 52(%rsp)
	movl	%esi, (%r14,%rcx)
	je	.L25
	movl	40+c(%rip), %ecx
	testl	%ecx, %ecx
	jle	.L146
	addl	%eax, %ecx
	cmpl	%edx, %ecx
	cmovg	%edx, %ecx
	xorl	%esi, %esi
	testl	%ecx, %ecx
	cmovs	%esi, %ecx
	movl	48(%rsp), %esi
.L29:
	movslq	%ecx, %rcx
	imulq	$40000, %rcx, %rcx
	cmpl	$2, 52(%rsp)
	movl	%esi, 444(%r14,%rcx)
	je	.L25
	movl	80+c(%rip), %ecx
	testl	%ecx, %ecx
	jle	.L147
	addl	%eax, %ecx
	cmpl	%edx, %ecx
	cmovg	%edx, %ecx
	xorl	%esi, %esi
	testl	%ecx, %ecx
	cmovs	%esi, %ecx
	movl	48(%rsp), %esi
.L31:
	movslq	%ecx, %rcx
	imulq	$40000, %rcx, %rcx
	cmpl	$3, 52(%rsp)
	movl	%esi, 888(%r14,%rcx)
	je	.L25
	movl	120+c(%rip), %ecx
	testl	%ecx, %ecx
	jle	.L148
	addl	%eax, %ecx
	cmpl	%edx, %ecx
	cmovg	%edx, %ecx
	xorl	%esi, %esi
	testl	%ecx, %ecx
	cmovs	%esi, %ecx
	movl	48(%rsp), %esi
.L33:
	movslq	%ecx, %rcx
	imulq	$40000, %rcx, %rcx
	cmpl	$4, 52(%rsp)
	movl	%esi, 1332(%r14,%rcx)
	je	.L25
	movl	160+c(%rip), %ecx
	testl	%ecx, %ecx
	jle	.L149
	addl	%eax, %ecx
	cmpl	%edx, %ecx
	cmovg	%edx, %ecx
	xorl	%esi, %esi
	testl	%ecx, %ecx
	cmovs	%esi, %ecx
	movl	48(%rsp), %esi
.L35:
	movslq	%ecx, %rcx
	imulq	$40000, %rcx, %rcx
	cmpl	$5, 52(%rsp)
	movl	%esi, 1776(%r14,%rcx)
	je	.L25
	movl	200+c(%rip), %ecx
	testl	%ecx, %ecx
	jle	.L150
	addl	%eax, %ecx
	cmpl	%edx, %ecx
	cmovg	%edx, %ecx
	xorl	%esi, %esi
	testl	%ecx, %ecx
	cmovs	%esi, %ecx
	movl	48(%rsp), %esi
.L37:
	movslq	%ecx, %rcx
	imulq	$40000, %rcx, %rcx
	cmpl	$6, 52(%rsp)
	movl	%esi, 2220(%r14,%rcx)
	je	.L25
	movl	240+c(%rip), %ecx
	testl	%ecx, %ecx
	jle	.L151
	addl	%eax, %ecx
	cmpl	%edx, %ecx
	cmovg	%edx, %ecx
	xorl	%esi, %esi
	testl	%ecx, %ecx
	cmovs	%esi, %ecx
	movl	48(%rsp), %esi
.L39:
	movslq	%ecx, %rcx
	imulq	$40000, %rcx, %rcx
	cmpl	$7, 52(%rsp)
	movl	%esi, 2664(%r14,%rcx)
	je	.L25
	movl	280+c(%rip), %ecx
	testl	%ecx, %ecx
	jle	.L152
	addl	%eax, %ecx
	cmpl	%edx, %ecx
	cmovg	%edx, %ecx
	xorl	%esi, %esi
	testl	%ecx, %ecx
	cmovs	%esi, %ecx
	movl	48(%rsp), %esi
.L41:
	movslq	%ecx, %rcx
	imulq	$40000, %rcx, %rcx
	cmpl	$8, 52(%rsp)
	movl	%esi, 3108(%r14,%rcx)
	je	.L25
	movl	320+c(%rip), %ecx
	testl	%ecx, %ecx
	jle	.L153
	addl	%eax, %ecx
	cmpl	%edx, %ecx
	cmovg	%edx, %ecx
	xorl	%esi, %esi
	testl	%ecx, %ecx
	cmovs	%esi, %ecx
	movl	48(%rsp), %esi
.L43:
	movslq	%ecx, %rcx
	imulq	$40000, %rcx, %rcx
	cmpl	$9, 52(%rsp)
	movl	%esi, 3552(%r14,%rcx)
	je	.L25
	movl	360+c(%rip), %ecx
	movl	48(%rsp), %edi
	leal	(%rdi,%rcx), %esi
	testl	%ecx, %ecx
	jle	.L45
	addl	%eax, %ecx
	movl	%edx, %eax
	movl	%edi, %esi
	cmpl	%edx, %ecx
	cmovle	%ecx, %eax
	xorl	%edx, %edx
	testl	%eax, %eax
	cmovs	%edx, %eax
.L45:
	cltq
	imulq	$40000, %rax, %rax
	movl	%esi, 3996(%r14,%rax)
	jmp	.L25
.L151:
	movl	48(%rsp), %edi
	leal	(%rdi,%rcx), %esi
	movl	%eax, %ecx
	jmp	.L39
.L150:
	movl	48(%rsp), %edi
	leal	(%rdi,%rcx), %esi
	movl	%eax, %ecx
	jmp	.L37
.L149:
	movl	48(%rsp), %edi
	leal	(%rdi,%rcx), %esi
	movl	%eax, %ecx
	jmp	.L35
.L148:
	movl	48(%rsp), %edi
	leal	(%rdi,%rcx), %esi
	movl	%eax, %ecx
	jmp	.L33
.L147:
	movl	48(%rsp), %edi
	leal	(%rcx,%rdi), %esi
	movl	%eax, %ecx
	jmp	.L31
.L146:
	movl	48(%rsp), %edi
	leal	(%rdi,%rcx), %esi
	movl	%eax, %ecx
	jmp	.L29
.L145:
	movl	48(%rsp), %edi
	leal	(%rdi,%rcx), %esi
	movl	%eax, %ecx
	jmp	.L27
.L80:
	movq	104(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L154
	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
.L153:
	.cfi_restore_state
	movl	48(%rsp), %edi
	leal	(%rdi,%rcx), %esi
	movl	%eax, %ecx
	jmp	.L43
.L152:
	movl	48(%rsp), %edi
	leal	(%rdi,%rcx), %esi
	movl	%eax, %ecx
	jmp	.L41
.L84:
	movl	16(%rsp), %eax
	movl	%edi, %r15d
	jmp	.L55
.L154:
	call	__stack_chk_fail@PLT
.L86:
	movl	16(%rsp), %edx
	jmp	.L64
.L85:
	movl	16(%rsp), %edx
	movl	%edi, %r15d
	jmp	.L60
	.cfi_endproc
.LFE4:
	.size	main, .-main
	.globl	DP
	.bss
	.align 32
	.type	DP, @object
	.size	DP, 2040000
DP:
	.zero	2040000
	.globl	c
	.align 32
	.type	c, @object
	.size	c, 400
c:
	.zero	400
	.globl	m
	.align 4
	.type	m, @object
	.size	m, 4
m:
	.zero	4
	.globl	H
	.align 4
	.type	H, @object
	.size	H, 4
H:
	.zero	4
	.globl	W
	.align 4
	.type	W, @object
	.size	W, 4
W:
	.zero	4
	.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:

#define rep(i,n)for(i=0;i<n;i++)
W,H,m,c[10][10];DP[51][10][10][10][10];CalcO(o,x,y){c[x][y]>0?o+=c[x][y],o>m?o=m:0:0;return o>0?o:0;}CalcF(f,x,y){return c[x][y]<0?f+c[x][y]:f;}Walk(x,y,l,r,o,f){int*p=&DP[o][y][x][l][r];f>*p?*p=f:0;}Dig(x,y,l,r,o,f){Walk(x,y,l,r,CalcO(o-1,x,y),CalcF(f,x,y));}main(){int*p,x,y,g,d,v,f,o,l,r,f0;for(;scanf("%d%d%d%d%d",&W,&H,&f0,&m,&o)*W;memset(DP,!printf(f?"%d\n":"NA\n",f0-f),sizeof(*DP)*2)){rep(y,H)rep(x,W)scanf("%d",&c[x][y]);f0++;if(o>1)rep(x,W)DP[CalcO(o-1,x,0)][0][x][x][x]=CalcF(f0,x,0);rep(y,H-1)rep(g,W)for(o=m;o>1;o--)rep(d,2)rep(l,W-g)rep(v,g+1)if(r=l+g,p=&DP[o][y][x=d?l+v:r-v][l][r],f=*p){*p=0;Dig(x,y+1,x,x,o,f);x?x>l?Walk(x-1,y,l,r,o-1,f):Dig(x-1,y,x-1,r,o,f):0;x<W-1?x<r?Walk(x+1,y,l,r,o-1,f):Dig(x+1,y,l,x+1,o,f):0;}f=0;rep(x,W)rep(o,m)p=&DP[o+1][H-1][x][x][x],*p>f?f=*p:0,*p=0;}}
3 3
100 10 10
-100 -20 -100
-100 -20 -100
-100 -20 -100
3 3
100 10 10
-100 -20 -100
-100 -20 -20
-100 -60 -20
3 3
100 10 3
-100 -20 -100
-20 -20 -20
-20 -100 -20
3 3
100 3 3
-100 -20 -30
-100 -20 2
-100 -20 -20
4 5
1500 5 4
-10 -380 -250 -250
-90 2 -80 8
-250 -130 -330 -120
-120 -40 -50 -6
-250 -10 -20 -150
0 0
 3 3
100 10 10
-100 -20 -100
-100 -20 -100
-100 -20 -100
3 3
100 10 10
-100 -20 -100
-100 -20 -20
-100 -60 -20
3 3
100 10 3
-100 -20 -100
-20 -20 -20
-20 -100 -20
3 3
100 3 3
-100 -20 -30
-100 -20 2
-100 -20 -20
4 5
1500 5 4
-10 -380 -250 -250
-90 2 -80 8
-250 -130 -330 -120
-120 -40 -50 -6
-250 -10 -32 -150
0 0
 3 3
100 10 10
-100 -20 -100
-100 -20 -100
-100 -20 -100
3 3
100 10 10
-100 -20 -100
-100 -20 -20
-100 -60 -20
3 3
100 10 3
-100 -20 -100
-20 -20 -20
-20 -79 -20
3 3
110 3 3
-100 -20 -30
-100 -20 2
-100 -20 -20
4 5
1500 5 4
-10 -380 -250 -250
-90 2 -80 8
-250 -130 -330 -120
-120 -40 -50 -12
-250 -10 -32 -150
0 0
 3 3
100 10 10
-100 -20 -100
-100 -20 -100
-100 -20 -100
3 3
100 10 10
-100 -20 -100
-100 -20 -20
-100 -60 -20
3 3
100 19 3
-100 -20 -100
-20 -20 -20
-20 -100 -20
3 3
100 3 3
-100 -20 -30
-100 -20 2
-100 -20 -20
4 5
1500 5 4
-10 -380 -250 -250
-90 2 -80 8
-250 -130 -330 -120
-120 -40 -50 -20
-250 -10 -20 -150
0 0
 3 3
100 10 10
-100 -20 -100
-100 -20 -100
-100 -20 -100
3 3
100 10 10
-100 -20 -100
-100 -20 -20
-100 -60 -20
3 3
100 10 3
-100 -20 -100
-20 -20 -20
-20 -100 -20
3 3
100 3 3
-100 -20 -30
-100 -20 2
-100 -20 -20
4 5
1500 0 4
-10 -380 -250 -250
-90 2 -80 8
-250 -130 -330 -120
-120 -40 -50 -6
-250 -10 -20 -150
0 0
 3 3
100 10 10
-100 -20 -100
-100 -20 -100
-100 -20 -100
3 3
100 10 10
-100 -20 -100
-100 -20 -20
-100 -60 -20
3 3
100 10 3
-100 -20 -100
-20 -20 -20
-20 -79 -20
3 3
110 3 3
-100 -20 -30
-100 -20 2
-100 -20 -14
4 5
1500 5 4
-10 -380 -250 -250
-90 2 -80 8
-250 -130 -330 -120
-120 -40 -50 -12
-250 -10 -32 -150
0 0
 3 3
100 10 10
-100 -20 -100
-100 -18 -100
-100 -20 -100
3 3
100 10 10
-100 -20 -100
-100 -20 -20
-100 -60 -20
3 3
100 10 3
-100 -20 -100
-20 -20 -20
-20 -100 -20
3 3
100 3 3
-100 -20 -30
-100 -20 2
-100 -20 -20
4 5
1500 5 4
-10 -380 -250 -250
-90 2 -80 8
-250 -130 -330 -120
-120 -40 -50 -6
-250 -10 -20 -150
0 0
 3 3
100 10 10
-100 -20 -100
-100 -20 -100
-117 -20 -100
3 3
100 10 10
-100 -20 -100
-100 -20 -20
-100 -60 -20
3 3
100 19 3
-100 -20 -100
-20 -20 -20
-20 -100 -20
3 3
100 3 3
-100 -20 -30
-100 -20 2
-127 -20 -20
4 5
1500 5 4
-10 -380 -250 -312
-90 2 -144 8
-250 -130 -330 -120
-120 -40 -50 -20
-250 -10 -20 -150
0 0
 3 3
100 10 10
-100 -20 -100
-100 -20 -100
-100 -20 -100
6 3
100 10 10
-100 -20 -100
-100 -20 -20
-100 -60 -20
3 3
100 10 3
-100 -20 -100
-20 -20 -20
-8 -79 -20
3 3
110 3 3
-100 -20 -30
-100 -20 2
-100 -20 -20
4 5
1500 5 4
-10 -380 -250 -250
-90 2 -80 8
-250 -130 -330 -120
-120 -40 -50 -6
-250 -10 -32 -150
0 0
 3 3
100 10 10
-100 -20 -100
-100 -20 -100
-100 -20 -100
3 3
100 10 10
-100 -20 -100
-100 -20 -20
-100 -60 -20
3 3
100 19 3
-100 -20 -100
-20 -20 -20
-20 -100 -20
3 3
100 3 3
-100 -20 -30
-100 -20 2
-100 -20 -20
4 5
1500 5 4
-10 -380 -250 -250
-90 2 -80 8
-250 -130 -330 -120
-122 -40 -50 -8
-250 -10 -20 -150
0 0

60
80
NA
50
376
 60
80
NA
50
388
 60
80
NA
50
394
 60
80
NA
50
390
 60
80
NA
50
NA
 60
80
NA
44
394
 58
80
NA
50
376
 60
80
NA
50
454
 60
40
NA
50
388
 60
80
NA
50
378

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

```c
#define rep(i,n)for(i=0;i<n;i++)
W,H,m,c[10][10];DP[51][10][10][10][10];CalcO(o,x,y){c[x][y]>0?o+=c[x][y],o>m?o=m:0:0;return o>0?o:0;}CalcF(f,x,y){return c[x][y]<0?f+c[x][y]:f;}Walk(x,y,l,r,o,f){int*p=&DP[o][y][x][l][r];f>*p?*p=f:0;}Dig(x,y,l,r,o,f){Walk(x,y,l,r,CalcO(o-1,x,y),CalcF(f,x,y));}main(){int*p,x,y,g,d,v,f,o,l,r,f0;for(;scanf("%d%d%d%d%d",&W,&H,&f0,&m,&o)*W;memset(DP,!printf(f?"%d\n":"NA\n",f0-f),sizeof(*DP)*2)){rep(y,H)rep(x,W)scanf("%d",&c[x][y]);f0++;if(o>1)rep(x,W)DP[CalcO(o-1,x,0)][0][x][x][x]=CalcF(f0,x,0);rep(y,H-1)rep(g,W)for(o=m;o>1;o--)rep(d,2)rep(l,W-g)rep(v,g+1)if(r=l+g,p=&DP[o][y][x=d?l+v:r-v][l][r],f=*p){*p=0;Dig(x,y+1,x,x,o,f);x?x>l?Walk(x-1,y,l,r,o-1,f):Dig(x-1,y,x-1,r,o,f):0;x<W-1?x<r?Walk(x+1,y,l,r,o-1,f):Dig(x+1,y,l,x+1,o,f):0;}f=0;rep(x,W)rep(o,m)p=&DP[o+1][H-1][x][x][x],*p>f?f=*p:0,*p=0;}}```

Unoptimized Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.globl	W
	.bss
	.align 4
	.type	W, @object
	.size	W, 4
W:
	.zero	4
	.globl	H
	.align 4
	.type	H, @object
	.size	H, 4
H:
	.zero	4
	.globl	m
	.align 4
	.type	m, @object
	.size	m, 4
m:
	.zero	4
	.globl	c
	.align 32
	.type	c, @object
	.size	c, 400
c:
	.zero	400
	.globl	DP
	.align 32
	.type	DP, @object
	.size	DP, 2040000
DP:
	.zero	2040000
	.text
	.globl	CalcO
	.type	CalcO, @function
CalcO:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movl	%edi, -4(%rbp)
	movl	%esi, -8(%rbp)
	movl	%edx, -12(%rbp)
	movl	-12(%rbp), %eax
	movslq	%eax, %rcx
	movl	-8(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	c(%rip), %rax
	movl	(%rdx,%rax), %eax
	testl	%eax, %eax
	jle	.L5
	movl	-12(%rbp), %eax
	movslq	%eax, %rcx
	movl	-8(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	c(%rip), %rax
	movl	(%rdx,%rax), %eax
	addl	%eax, -4(%rbp)
	movl	m(%rip), %eax
	cmpl	%eax, -4(%rbp)
	jle	.L5
	movl	m(%rip), %eax
	movl	%eax, -4(%rbp)
.L5:
	movl	-4(%rbp), %eax
	movl	$0, %edx
	testl	%eax, %eax
	cmovs	%edx, %eax
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	CalcO, .-CalcO
	.globl	CalcF
	.type	CalcF, @function
CalcF:
.LFB1:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movl	%edi, -4(%rbp)
	movl	%esi, -8(%rbp)
	movl	%edx, -12(%rbp)
	movl	-12(%rbp), %eax
	movslq	%eax, %rcx
	movl	-8(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	c(%rip), %rax
	movl	(%rdx,%rax), %eax
	testl	%eax, %eax
	jns	.L8
	movl	-12(%rbp), %eax
	movslq	%eax, %rcx
	movl	-8(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	c(%rip), %rax
	movl	(%rdx,%rax), %edx
	movl	-4(%rbp), %eax
	addl	%edx, %eax
	jmp	.L10
.L8:
	movl	-4(%rbp), %eax
.L10:
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	CalcF, .-CalcF
	.globl	Walk
	.type	Walk, @function
Walk:
.LFB2:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movl	%edi, -20(%rbp)
	movl	%esi, -24(%rbp)
	movl	%edx, -28(%rbp)
	movl	%ecx, -32(%rbp)
	movl	%r8d, -36(%rbp)
	movl	%r9d, -40(%rbp)
	movl	-32(%rbp), %eax
	movslq	%eax, %rsi
	movl	-20(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	leaq	0(,%rax,4), %rdx
	addq	%rdx, %rax
	salq	$2, %rax
	movl	-28(%rbp), %edx
	movslq	%edx, %rcx
	movq	%rcx, %rdx
	salq	$2, %rdx
	addq	%rcx, %rdx
	addq	%rdx, %rdx
	addq	%rdx, %rax
	leaq	(%rsi,%rax), %rcx
	movl	-36(%rbp), %eax
	cltq
	imulq	$10000, %rax, %rdx
	movl	-24(%rbp), %eax
	cltq
	imulq	$1000, %rax, %rax
	addq	%rdx, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	DP(%rip), %rax
	addq	%rdx, %rax
	movq	%rax, -8(%rbp)
	movq	-8(%rbp), %rax
	movl	(%rax), %eax
	cmpl	%eax, -40(%rbp)
	jle	.L13
	movq	-8(%rbp), %rax
	movl	-40(%rbp), %edx
	movl	%edx, (%rax)
.L13:
	nop
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	Walk, .-Walk
	.globl	Dig
	.type	Dig, @function
Dig:
.LFB3:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	pushq	%rbx
	subq	$24, %rsp
	.cfi_offset 3, -24
	movl	%edi, -12(%rbp)
	movl	%esi, -16(%rbp)
	movl	%edx, -20(%rbp)
	movl	%ecx, -24(%rbp)
	movl	%r8d, -28(%rbp)
	movl	%r9d, -32(%rbp)
	movl	-16(%rbp), %edx
	movl	-12(%rbp), %ecx
	movl	-32(%rbp), %eax
	movl	%ecx, %esi
	movl	%eax, %edi
	movl	$0, %eax
	call	CalcF
	movl	%eax, %ebx
	movl	-28(%rbp), %eax
	leal	-1(%rax), %ecx
	movl	-16(%rbp), %edx
	movl	-12(%rbp), %eax
	movl	%eax, %esi
	movl	%ecx, %edi
	movl	$0, %eax
	call	CalcO
	movl	%eax, %edi
	movl	-24(%rbp), %ecx
	movl	-20(%rbp), %edx
	movl	-16(%rbp), %esi
	movl	-12(%rbp), %eax
	movl	%ebx, %r9d
	movl	%edi, %r8d
	movl	%eax, %edi
	movl	$0, %eax
	call	Walk
	nop
	movq	-8(%rbp), %rbx
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	Dig, .-Dig
	.section	.rodata
.LC0:
	.string	"%d"
.LC1:
	.string	"%d\n"
.LC2:
	.string	"NA\n"
.LC3:
	.string	"%d%d%d%d%d"
	.text
	.globl	main
	.type	main, @function
main:
.LFB4:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	pushq	%r12
	pushq	%rbx
	subq	$64, %rsp
	.cfi_offset 12, -24
	.cfi_offset 3, -32
	movq	%fs:40, %rax
	movq	%rax, -24(%rbp)
	xorl	%eax, %eax
	jmp	.L16
.L54:
	movl	$0, -60(%rbp)
	jmp	.L17
.L20:
	movl	$0, -64(%rbp)
	jmp	.L18
.L19:
	movl	-60(%rbp), %eax
	movslq	%eax, %rcx
	movl	-64(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	c(%rip), %rax
	addq	%rdx, %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	scanf@PLT
	addl	$1, -64(%rbp)
.L18:
	movl	W(%rip), %eax
	cmpl	%eax, -64(%rbp)
	jl	.L19
	addl	$1, -60(%rbp)
.L17:
	movl	H(%rip), %eax
	cmpl	%eax, -60(%rbp)
	jl	.L20
	movl	-68(%rbp), %eax
	addl	$1, %eax
	movl	%eax, -68(%rbp)
	movl	-72(%rbp), %eax
	cmpl	$1, %eax
	jle	.L21
	movl	$0, -64(%rbp)
	jmp	.L22
.L23:
	movl	-68(%rbp), %ebx
	movl	-72(%rbp), %eax
	leal	-1(%rax), %ecx
	movl	-64(%rbp), %eax
	movl	$0, %edx
	movl	%eax, %esi
	movl	%ecx, %edi
	movl	$0, %eax
	call	CalcO
	movl	%eax, %r12d
	movl	-64(%rbp), %eax
	movl	$0, %edx
	movl	%eax, %esi
	movl	%ebx, %edi
	movl	$0, %eax
	call	CalcF
	movl	-64(%rbp), %edx
	movslq	%edx, %rcx
	movslq	%r12d, %rdx
	imulq	$444, %rcx, %rcx
	imulq	$40000, %rdx, %rdx
	addq	%rdx, %rcx
	leaq	DP(%rip), %rdx
	addq	%rcx, %rdx
	movl	%eax, (%rdx)
	addl	$1, -64(%rbp)
.L22:
	movl	W(%rip), %eax
	cmpl	%eax, -64(%rbp)
	jl	.L23
.L21:
	movl	$0, -60(%rbp)
	jmp	.L24
.L45:
	movl	$0, -56(%rbp)
	jmp	.L25
.L44:
	movl	m(%rip), %eax
	movl	%eax, -72(%rbp)
	jmp	.L26
.L43:
	movl	$0, -52(%rbp)
	jmp	.L27
.L42:
	movl	$0, -40(%rbp)
	jmp	.L28
.L41:
	movl	$0, -48(%rbp)
	jmp	.L29
.L40:
	movl	-40(%rbp), %edx
	movl	-56(%rbp), %eax
	addl	%edx, %eax
	movl	%eax, -36(%rbp)
	movl	-72(%rbp), %esi
	cmpl	$0, -52(%rbp)
	je	.L30
	movl	-40(%rbp), %edx
	movl	-48(%rbp), %eax
	addl	%edx, %eax
	jmp	.L31
.L30:
	movl	-36(%rbp), %eax
	subl	-48(%rbp), %eax
.L31:
	movl	%eax, -64(%rbp)
	movl	-36(%rbp), %eax
	movslq	%eax, %rdi
	movl	-64(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	leaq	0(,%rax,4), %rdx
	addq	%rdx, %rax
	salq	$2, %rax
	movl	-40(%rbp), %edx
	movslq	%edx, %rcx
	movq	%rcx, %rdx
	salq	$2, %rdx
	addq	%rcx, %rdx
	addq	%rdx, %rdx
	addq	%rdx, %rax
	leaq	(%rdi,%rax), %rcx
	movslq	%esi, %rax
	imulq	$10000, %rax, %rdx
	movl	-60(%rbp), %eax
	cltq
	imulq	$1000, %rax, %rax
	addq	%rdx, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	DP(%rip), %rax
	addq	%rdx, %rax
	movq	%rax, -32(%rbp)
	movq	-32(%rbp), %rax
	movl	(%rax), %eax
	movl	%eax, -44(%rbp)
	cmpl	$0, -44(%rbp)
	je	.L32
	movq	-32(%rbp), %rax
	movl	$0, (%rax)
	movl	-72(%rbp), %edi
	movl	-60(%rbp), %eax
	leal	1(%rax), %esi
	movl	-44(%rbp), %r8d
	movl	-64(%rbp), %ecx
	movl	-64(%rbp), %edx
	movl	-64(%rbp), %eax
	movl	%r8d, %r9d
	movl	%edi, %r8d
	movl	%eax, %edi
	movl	$0, %eax
	call	Dig
	cmpl	$0, -64(%rbp)
	je	.L36
	movl	-64(%rbp), %eax
	cmpl	-40(%rbp), %eax
	jle	.L34
	movl	-72(%rbp), %eax
	leal	-1(%rax), %r8d
	movl	-64(%rbp), %eax
	leal	-1(%rax), %edi
	movl	-44(%rbp), %esi
	movl	-36(%rbp), %ecx
	movl	-40(%rbp), %edx
	movl	-60(%rbp), %eax
	movl	%esi, %r9d
	movl	%eax, %esi
	movl	$0, %eax
	call	Walk
	jmp	.L36
.L34:
	movl	-72(%rbp), %ecx
	movl	-64(%rbp), %eax
	leal	-1(%rax), %esi
	movl	-64(%rbp), %eax
	leal	-1(%rax), %edi
	movl	-44(%rbp), %r8d
	movl	-36(%rbp), %edx
	movl	-60(%rbp), %eax
	movl	%r8d, %r9d
	movl	%ecx, %r8d
	movl	%edx, %ecx
	movl	%esi, %edx
	movl	%eax, %esi
	movl	$0, %eax
	call	Dig
.L36:
	movl	W(%rip), %eax
	subl	$1, %eax
	cmpl	%eax, -64(%rbp)
	jge	.L32
	movl	-64(%rbp), %eax
	cmpl	-36(%rbp), %eax
	jge	.L38
	movl	-72(%rbp), %eax
	leal	-1(%rax), %r8d
	movl	-64(%rbp), %eax
	leal	1(%rax), %edi
	movl	-44(%rbp), %esi
	movl	-36(%rbp), %ecx
	movl	-40(%rbp), %edx
	movl	-60(%rbp), %eax
	movl	%esi, %r9d
	movl	%eax, %esi
	movl	$0, %eax
	call	Walk
	jmp	.L32
.L38:
	movl	-72(%rbp), %esi
	movl	-64(%rbp), %eax
	leal	1(%rax), %ecx
	movl	-64(%rbp), %eax
	leal	1(%rax), %edi
	movl	-44(%rbp), %r8d
	movl	-40(%rbp), %edx
	movl	-60(%rbp), %eax
	movl	%r8d, %r9d
	movl	%esi, %r8d
	movl	%eax, %esi
	movl	$0, %eax
	call	Dig
.L32:
	addl	$1, -48(%rbp)
.L29:
	movl	-56(%rbp), %eax
	cmpl	-48(%rbp), %eax
	jge	.L40
	addl	$1, -40(%rbp)
.L28:
	movl	W(%rip), %eax
	subl	-56(%rbp), %eax
	cmpl	%eax, -40(%rbp)
	jl	.L41
	addl	$1, -52(%rbp)
.L27:
	cmpl	$1, -52(%rbp)
	jle	.L42
	movl	-72(%rbp), %eax
	subl	$1, %eax
	movl	%eax, -72(%rbp)
.L26:
	movl	-72(%rbp), %eax
	cmpl	$1, %eax
	jg	.L43
	addl	$1, -56(%rbp)
.L25:
	movl	W(%rip), %eax
	cmpl	%eax, -56(%rbp)
	jl	.L44
	addl	$1, -60(%rbp)
.L24:
	movl	H(%rip), %eax
	subl	$1, %eax
	cmpl	%eax, -60(%rbp)
	jl	.L45
	movl	$0, -44(%rbp)
	movl	$0, -64(%rbp)
	jmp	.L46
.L51:
	movl	$0, -72(%rbp)
	jmp	.L47
.L50:
	movl	-72(%rbp), %eax
	leal	1(%rax), %edx
	movl	H(%rip), %eax
	leal	-1(%rax), %ecx
	movl	-64(%rbp), %eax
	cltq
	imulq	$444, %rax, %rsi
	movslq	%ecx, %rax
	imulq	$4000, %rax, %rax
	leaq	(%rsi,%rax), %rcx
	movslq	%edx, %rax
	imulq	$40000, %rax, %rax
	leaq	(%rcx,%rax), %rdx
	leaq	DP(%rip), %rax
	addq	%rdx, %rax
	movq	%rax, -32(%rbp)
	movq	-32(%rbp), %rax
	movl	(%rax), %eax
	cmpl	%eax, -44(%rbp)
	jge	.L49
	movq	-32(%rbp), %rax
	movl	(%rax), %eax
	movl	%eax, -44(%rbp)
.L49:
	movq	-32(%rbp), %rax
	movl	$0, (%rax)
	movl	-72(%rbp), %eax
	addl	$1, %eax
	movl	%eax, -72(%rbp)
.L47:
	movl	-72(%rbp), %edx
	movl	m(%rip), %eax
	cmpl	%eax, %edx
	jl	.L50
	addl	$1, -64(%rbp)
.L46:
	movl	W(%rip), %eax
	cmpl	%eax, -64(%rbp)
	jl	.L51
	movl	-68(%rbp), %eax
	subl	-44(%rbp), %eax
	movl	%eax, %edx
	cmpl	$0, -44(%rbp)
	je	.L52
	leaq	.LC1(%rip), %rax
	jmp	.L53
.L52:
	leaq	.LC2(%rip), %rax
.L53:
	movl	%edx, %esi
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	testl	%eax, %eax
	sete	%al
	movzbl	%al, %eax
	movl	$80000, %edx
	movl	%eax, %esi
	leaq	DP(%rip), %rax
	movq	%rax, %rdi
	call	memset@PLT
.L16:
	leaq	-72(%rbp), %rdx
	leaq	-68(%rbp), %rax
	movq	%rdx, %r9
	leaq	m(%rip), %r8
	movq	%rax, %rcx
	leaq	H(%rip), %rax
	movq	%rax, %rdx
	leaq	W(%rip), %rax
	movq	%rax, %rsi
	leaq	.LC3(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	scanf@PLT
	movl	W(%rip), %edx
	imull	%edx, %eax
	testl	%eax, %eax
	jne	.L54
	movl	$0, %eax
	movq	-24(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L56
	call	__stack_chk_fail@PLT
.L56:
	addq	$64, %rsp
	popq	%rbx
	popq	%r12
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	main, .-main
	.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	W
	.bss
	.align 4
	.type	W, @object
	.size	W, 4
W:
	.zero	4
	.globl	H
	.align 4
	.type	H, @object
	.size	H, 4
H:
	.zero	4
	.globl	m
	.align 4
	.type	m, @object
	.size	m, 4
m:
	.zero	4
	.globl	c
	.align 32
	.type	c, @object
	.size	c, 400
c:
	.zero	400
	.globl	DP
	.align 32
	.type	DP, @object
	.size	DP, 2040000
DP:
	.zero	2040000
	.text
	.globl	CalcO
	.type	CalcO, @function
CalcO:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movl	%edi, -4(%rbp)
	movl	%esi, -8(%rbp)
	movl	%edx, -12(%rbp)
	movl	-12(%rbp), %eax
	movslq	%eax, %rcx
	movl	-8(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	c(%rip), %rax
	movl	(%rdx,%rax), %eax
	testl	%eax, %eax
	jle	.L5
	movl	-12(%rbp), %eax
	movslq	%eax, %rcx
	movl	-8(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	c(%rip), %rax
	movl	(%rdx,%rax), %eax
	addl	%eax, -4(%rbp)
	movl	m(%rip), %eax
	cmpl	%eax, -4(%rbp)
	jle	.L5
	movl	m(%rip), %eax
	movl	%eax, -4(%rbp)
.L5:
	movl	-4(%rbp), %eax
	movl	$0, %edx
	testl	%eax, %eax
	cmovs	%edx, %eax
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	CalcO, .-CalcO
	.globl	CalcF
	.type	CalcF, @function
CalcF:
.LFB1:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movl	%edi, -4(%rbp)
	movl	%esi, -8(%rbp)
	movl	%edx, -12(%rbp)
	movl	-12(%rbp), %eax
	movslq	%eax, %rcx
	movl	-8(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	c(%rip), %rax
	movl	(%rdx,%rax), %eax
	testl	%eax, %eax
	jns	.L8
	movl	-12(%rbp), %eax
	movslq	%eax, %rcx
	movl	-8(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	c(%rip), %rax
	movl	(%rdx,%rax), %edx
	movl	-4(%rbp), %eax
	addl	%edx, %eax
	jmp	.L10
.L8:
	movl	-4(%rbp), %eax
.L10:
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	CalcF, .-CalcF
	.globl	Walk
	.type	Walk, @function
Walk:
.LFB2:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movl	%edi, -20(%rbp)
	movl	%esi, -24(%rbp)
	movl	%edx, -28(%rbp)
	movl	%ecx, -32(%rbp)
	movl	%r8d, -36(%rbp)
	movl	%r9d, -40(%rbp)
	movl	-32(%rbp), %eax
	movslq	%eax, %rsi
	movl	-20(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	leaq	0(,%rax,4), %rdx
	addq	%rdx, %rax
	salq	$2, %rax
	movl	-28(%rbp), %edx
	movslq	%edx, %rcx
	movq	%rcx, %rdx
	salq	$2, %rdx
	addq	%rcx, %rdx
	addq	%rdx, %rdx
	addq	%rdx, %rax
	leaq	(%rsi,%rax), %rcx
	movl	-36(%rbp), %eax
	cltq
	imulq	$10000, %rax, %rdx
	movl	-24(%rbp), %eax
	cltq
	imulq	$1000, %rax, %rax
	addq	%rdx, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	DP(%rip), %rax
	addq	%rdx, %rax
	movq	%rax, -8(%rbp)
	movq	-8(%rbp), %rax
	movl	(%rax), %eax
	cmpl	%eax, -40(%rbp)
	jle	.L13
	movq	-8(%rbp), %rax
	movl	-40(%rbp), %edx
	movl	%edx, (%rax)
.L13:
	nop
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	Walk, .-Walk
	.globl	Dig
	.type	Dig, @function
Dig:
.LFB3:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	pushq	%rbx
	subq	$24, %rsp
	.cfi_offset 3, -24
	movl	%edi, -12(%rbp)
	movl	%esi, -16(%rbp)
	movl	%edx, -20(%rbp)
	movl	%ecx, -24(%rbp)
	movl	%r8d, -28(%rbp)
	movl	%r9d, -32(%rbp)
	movl	-16(%rbp), %edx
	movl	-12(%rbp), %ecx
	movl	-32(%rbp), %eax
	movl	%ecx, %esi
	movl	%eax, %edi
	movl	$0, %eax
	call	CalcF
	movl	%eax, %ebx
	movl	-28(%rbp), %eax
	leal	-1(%rax), %ecx
	movl	-16(%rbp), %edx
	movl	-12(%rbp), %eax
	movl	%eax, %esi
	movl	%ecx, %edi
	movl	$0, %eax
	call	CalcO
	movl	%eax, %edi
	movl	-24(%rbp), %ecx
	movl	-20(%rbp), %edx
	movl	-16(%rbp), %esi
	movl	-12(%rbp), %eax
	movl	%ebx, %r9d
	movl	%edi, %r8d
	movl	%eax, %edi
	movl	$0, %eax
	call	Walk
	nop
	movq	-8(%rbp), %rbx
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	Dig, .-Dig
	.section	.rodata
.LC0:
	.string	"%d"
.LC1:
	.string	"%d\n"
.LC2:
	.string	"NA\n"
.LC3:
	.string	"%d%d%d%d%d"
	.text
	.globl	main
	.type	main, @function
main:
.LFB4:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	pushq	%r12
	pushq	%rbx
	subq	$64, %rsp
	.cfi_offset 12, -24
	.cfi_offset 3, -32
	movq	%fs:40, %rax
	movq	%rax, -24(%rbp)
	xorl	%eax, %eax
	jmp	.L16
.L54:
	movl	$0, -60(%rbp)
	jmp	.L17
.L20:
	movl	$0, -64(%rbp)
	jmp	.L18
.L19:
	movl	-60(%rbp), %eax
	movslq	%eax, %rcx
	movl	-64(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	c(%rip), %rax
	addq	%rdx, %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	scanf@PLT
	addl	$1, -64(%rbp)
.L18:
	movl	W(%rip), %eax
	cmpl	%eax, -64(%rbp)
	jl	.L19
	addl	$1, -60(%rbp)
.L17:
	movl	H(%rip), %eax
	cmpl	%eax, -60(%rbp)
	jl	.L20
	movl	-68(%rbp), %eax
	addl	$1, %eax
	movl	%eax, -68(%rbp)
	movl	-72(%rbp), %eax
	cmpl	$1, %eax
	jle	.L21
	movl	$0, -64(%rbp)
	jmp	.L22
.L23:
	movl	-68(%rbp), %ebx
	movl	-72(%rbp), %eax
	leal	-1(%rax), %ecx
	movl	-64(%rbp), %eax
	movl	$0, %edx
	movl	%eax, %esi
	movl	%ecx, %edi
	movl	$0, %eax
	call	CalcO
	movl	%eax, %r12d
	movl	-64(%rbp), %eax
	movl	$0, %edx
	movl	%eax, %esi
	movl	%ebx, %edi
	movl	$0, %eax
	call	CalcF
	movl	-64(%rbp), %edx
	movslq	%edx, %rcx
	movslq	%r12d, %rdx
	imulq	$444, %rcx, %rcx
	imulq	$40000, %rdx, %rdx
	addq	%rdx, %rcx
	leaq	DP(%rip), %rdx
	addq	%rcx, %rdx
	movl	%eax, (%rdx)
	addl	$1, -64(%rbp)
.L22:
	movl	W(%rip), %eax
	cmpl	%eax, -64(%rbp)
	jl	.L23
.L21:
	movl	$0, -60(%rbp)
	jmp	.L24
.L45:
	movl	$0, -56(%rbp)
	jmp	.L25
.L44:
	movl	m(%rip), %eax
	movl	%eax, -72(%rbp)
	jmp	.L26
.L43:
	movl	$0, -52(%rbp)
	jmp	.L27
.L42:
	movl	$0, -40(%rbp)
	jmp	.L28
.L41:
	movl	$0, -48(%rbp)
	jmp	.L29
.L40:
	movl	-40(%rbp), %edx
	movl	-56(%rbp), %eax
	addl	%edx, %eax
	movl	%eax, -36(%rbp)
	movl	-72(%rbp), %esi
	cmpl	$0, -52(%rbp)
	je	.L30
	movl	-40(%rbp), %edx
	movl	-48(%rbp), %eax
	addl	%edx, %eax
	jmp	.L31
.L30:
	movl	-36(%rbp), %eax
	subl	-48(%rbp), %eax
.L31:
	movl	%eax, -64(%rbp)
	movl	-36(%rbp), %eax
	movslq	%eax, %rdi
	movl	-64(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	leaq	0(,%rax,4), %rdx
	addq	%rdx, %rax
	salq	$2, %rax
	movl	-40(%rbp), %edx
	movslq	%edx, %rcx
	movq	%rcx, %rdx
	salq	$2, %rdx
	addq	%rcx, %rdx
	addq	%rdx, %rdx
	addq	%rdx, %rax
	leaq	(%rdi,%rax), %rcx
	movslq	%esi, %rax
	imulq	$10000, %rax, %rdx
	movl	-60(%rbp), %eax
	cltq
	imulq	$1000, %rax, %rax
	addq	%rdx, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	DP(%rip), %rax
	addq	%rdx, %rax
	movq	%rax, -32(%rbp)
	movq	-32(%rbp), %rax
	movl	(%rax), %eax
	movl	%eax, -44(%rbp)
	cmpl	$0, -44(%rbp)
	je	.L32
	movq	-32(%rbp), %rax
	movl	$0, (%rax)
	movl	-72(%rbp), %edi
	movl	-60(%rbp), %eax
	leal	1(%rax), %esi
	movl	-44(%rbp), %r8d
	movl	-64(%rbp), %ecx
	movl	-64(%rbp), %edx
	movl	-64(%rbp), %eax
	movl	%r8d, %r9d
	movl	%edi, %r8d
	movl	%eax, %edi
	movl	$0, %eax
	call	Dig
	cmpl	$0, -64(%rbp)
	je	.L36
	movl	-64(%rbp), %eax
	cmpl	-40(%rbp), %eax
	jle	.L34
	movl	-72(%rbp), %eax
	leal	-1(%rax), %r8d
	movl	-64(%rbp), %eax
	leal	-1(%rax), %edi
	movl	-44(%rbp), %esi
	movl	-36(%rbp), %ecx
	movl	-40(%rbp), %edx
	movl	-60(%rbp), %eax
	movl	%esi, %r9d
	movl	%eax, %esi
	movl	$0, %eax
	call	Walk
	jmp	.L36
.L34:
	movl	-72(%rbp), %ecx
	movl	-64(%rbp), %eax
	leal	-1(%rax), %esi
	movl	-64(%rbp), %eax
	leal	-1(%rax), %edi
	movl	-44(%rbp), %r8d
	movl	-36(%rbp), %edx
	movl	-60(%rbp), %eax
	movl	%r8d, %r9d
	movl	%ecx, %r8d
	movl	%edx, %ecx
	movl	%esi, %edx
	movl	%eax, %esi
	movl	$0, %eax
	call	Dig
.L36:
	movl	W(%rip), %eax
	subl	$1, %eax
	cmpl	%eax, -64(%rbp)
	jge	.L32
	movl	-64(%rbp), %eax
	cmpl	-36(%rbp), %eax
	jge	.L38
	movl	-72(%rbp), %eax
	leal	-1(%rax), %r8d
	movl	-64(%rbp), %eax
	leal	1(%rax), %edi
	movl	-44(%rbp), %esi
	movl	-36(%rbp), %ecx
	movl	-40(%rbp), %edx
	movl	-60(%rbp), %eax
	movl	%esi, %r9d
	movl	%eax, %esi
	movl	$0, %eax
	call	Walk
	jmp	.L32
.L38:
	movl	-72(%rbp), %esi
	movl	-64(%rbp), %eax
	leal	1(%rax), %ecx
	movl	-64(%rbp), %eax
	leal	1(%rax), %edi
	movl	-44(%rbp), %r8d
	movl	-40(%rbp), %edx
	movl	-60(%rbp), %eax
	movl	%r8d, %r9d
	movl	%esi, %r8d
	movl	%eax, %esi
	movl	$0, %eax
	call	Dig
.L32:
	addl	$1, -48(%rbp)
.L29:
	movl	-56(%rbp), %eax
	cmpl	-48(%rbp), %eax
	jge	.L40
	addl	$1, -40(%rbp)
.L28:
	movl	W(%rip), %eax
	subl	-56(%rbp), %eax
	cmpl	%eax, -40(%rbp)
	jl	.L41
	addl	$1, -52(%rbp)
.L27:
	cmpl	$1, -52(%rbp)
	jle	.L42
	movl	-72(%rbp), %eax
	subl	$1, %eax
	movl	%eax, -72(%rbp)
.L26:
	movl	-72(%rbp), %eax
	cmpl	$1, %eax
	jg	.L43
	addl	$1, -56(%rbp)
.L25:
	movl	W(%rip), %eax
	cmpl	%eax, -56(%rbp)
	jl	.L44
	addl	$1, -60(%rbp)
.L24:
	movl	H(%rip), %eax
	subl	$1, %eax
	cmpl	%eax, -60(%rbp)
	jl	.L45
	movl	$0, -44(%rbp)
	movl	$0, -64(%rbp)
	jmp	.L46
.L51:
	movl	$0, -72(%rbp)
	jmp	.L47
.L50:
	movl	-72(%rbp), %eax
	leal	1(%rax), %edx
	movl	H(%rip), %eax
	leal	-1(%rax), %ecx
	movl	-64(%rbp), %eax
	cltq
	imulq	$444, %rax, %rsi
	movslq	%ecx, %rax
	imulq	$4000, %rax, %rax
	leaq	(%rsi,%rax), %rcx
	movslq	%edx, %rax
	imulq	$40000, %rax, %rax
	leaq	(%rcx,%rax), %rdx
	leaq	DP(%rip), %rax
	addq	%rdx, %rax
	movq	%rax, -32(%rbp)
	movq	-32(%rbp), %rax
	movl	(%rax), %eax
	cmpl	%eax, -44(%rbp)
	jge	.L49
	movq	-32(%rbp), %rax
	movl	(%rax), %eax
	movl	%eax, -44(%rbp)
.L49:
	movq	-32(%rbp), %rax
	movl	$0, (%rax)
	movl	-72(%rbp), %eax
	addl	$1, %eax
	movl	%eax, -72(%rbp)
.L47:
	movl	-72(%rbp), %edx
	movl	m(%rip), %eax
	cmpl	%eax, %edx
	jl	.L50
	addl	$1, -64(%rbp)
.L46:
	movl	W(%rip), %eax
	cmpl	%eax, -64(%rbp)
	jl	.L51
	movl	-68(%rbp), %eax
	subl	-44(%rbp), %eax
	movl	%eax, %edx
	cmpl	$0, -44(%rbp)
	je	.L52
	leaq	.LC1(%rip), %rax
	jmp	.L53
.L52:
	leaq	.LC2(%rip), %rax
.L53:
	movl	%edx, %esi
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	testl	%eax, %eax
	sete	%al
	movzbl	%al, %eax
	movl	$80000, %edx
	movl	%eax, %esi
	leaq	DP(%rip), %rax
	movq	%rax, %rdi
	call	memset@PLT
.L16:
	leaq	-72(%rbp), %rdx
	leaq	-68(%rbp), %rax
	movq	%rdx, %r9
	leaq	m(%rip), %r8
	movq	%rax, %rcx
	leaq	H(%rip), %rax
	movq	%rax, %rdx
	leaq	W(%rip), %rax
	movq	%rax, %rsi
	leaq	.LC3(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	scanf@PLT
	movl	W(%rip), %edx
	imull	%edx, %eax
	testl	%eax, %eax
	jne	.L54
	movl	$0, %eax
	movq	-24(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L56
	call	__stack_chk_fail@PLT
.L56:
	addq	$64, %rsp
	popq	%rbx
	popq	%r12
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	main, .-main
	.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:
