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

```c
#include <stdio.h>
int main(void)
{
  int l;
  int hiyou[12][2];
  int i;

  while(1){
    int sum=0;
    int m=0;
    scanf("%d",&l);
    if(l==0)
      break;

    for(i=0;i<12;i++)
      scanf("%d %d",&hiyou[i][0],&hiyou[i][1]);

    for(i=0;i<12;i++){
      sum+=hiyou[i][0]-hiyou[i][1];
      if(sum>=l){
	m=i+1;
	break;
      }
    }

    if(m)
      printf("%d\n",m);
    else
      printf("NA\n");
  }

  return 0;
}```

Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"%d"
.LC1:
	.string	"%d %d"
.LC2:
	.string	"NA"
.LC3:
	.string	"%d\n"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB23:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	leaq	.LC3(%rip), %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
	leaq	.LC0(%rip), %r12
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	leaq	.LC1(%rip), %rbx
	subq	$136, %rsp
	.cfi_def_cfa_offset 192
	movq	%fs:40, %rax
	movq	%rax, 120(%rsp)
	xorl	%eax, %eax
	leaq	12(%rsp), %r13
	leaq	112(%rsp), %rbp
	.p2align 4,,10
	.p2align 3
.L2:
	movq	%r13, %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	call	__isoc99_scanf@PLT
	movl	12(%rsp), %eax
	testl	%eax, %eax
	je	.L3
	leaq	16(%rsp), %r14
	.p2align 4,,10
	.p2align 3
.L4:
	leaq	4(%r14), %rdx
	movq	%r14, %rsi
	movq	%rbx, %rdi
	xorl	%eax, %eax
	call	__isoc99_scanf@PLT
	addq	$8, %r14
	cmpq	%r14, %rbp
	jne	.L4
	movl	12(%rsp), %edx
	movl	16(%rsp), %eax
	subl	20(%rsp), %eax
	cmpl	%edx, %eax
	jge	.L8
	addl	24(%rsp), %eax
	subl	28(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L9
	addl	32(%rsp), %eax
	subl	36(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L10
	addl	40(%rsp), %eax
	subl	44(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L11
	addl	48(%rsp), %eax
	subl	52(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L12
	addl	56(%rsp), %eax
	subl	60(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L13
	addl	64(%rsp), %eax
	subl	68(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L14
	addl	72(%rsp), %eax
	subl	76(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L15
	addl	80(%rsp), %eax
	subl	84(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L16
	addl	88(%rsp), %eax
	subl	92(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L17
	addl	96(%rsp), %eax
	subl	100(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L18
	addl	104(%rsp), %eax
	subl	108(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L19
	leaq	.LC2(%rip), %rdi
	call	puts@PLT
	jmp	.L2
.L3:
	movq	120(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L24
	addq	$136, %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
.L8:
	.cfi_restore_state
	xorl	%edx, %edx
	.p2align 4,,10
	.p2align 3
.L5:
	addl	$1, %edx
	movq	%r15, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	jmp	.L2
.L9:
	movl	$1, %edx
	jmp	.L5
.L10:
	movl	$2, %edx
	jmp	.L5
.L11:
	movl	$3, %edx
	jmp	.L5
.L12:
	movl	$4, %edx
	jmp	.L5
.L13:
	movl	$5, %edx
	jmp	.L5
.L14:
	movl	$6, %edx
	jmp	.L5
.L15:
	movl	$7, %edx
	jmp	.L5
.L16:
	movl	$8, %edx
	jmp	.L5
.L17:
	movl	$9, %edx
	jmp	.L5
.L18:
	movl	$10, %edx
	jmp	.L5
.L19:
	movl	$11, %edx
	jmp	.L5
.L24:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE23:
	.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.
Optimized Assembly Code:

user
```assembly
	.file	"temp.c"
	.text
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"%d"
.LC1:
	.string	"%d %d"
.LC2:
	.string	"NA"
.LC3:
	.string	"%d\n"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB23:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	leaq	.LC3(%rip), %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
	leaq	.LC0(%rip), %r12
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	leaq	.LC1(%rip), %rbx
	subq	$136, %rsp
	.cfi_def_cfa_offset 192
	movq	%fs:40, %rax
	movq	%rax, 120(%rsp)
	xorl	%eax, %eax
	leaq	12(%rsp), %r13
	leaq	112(%rsp), %rbp
	.p2align 4,,10
	.p2align 3
.L2:
	movq	%r13, %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	call	__isoc99_scanf@PLT
	movl	12(%rsp), %eax
	testl	%eax, %eax
	je	.L3
	leaq	16(%rsp), %r14
	.p2align 4,,10
	.p2align 3
.L4:
	leaq	4(%r14), %rdx
	movq	%r14, %rsi
	movq	%rbx, %rdi
	xorl	%eax, %eax
	call	__isoc99_scanf@PLT
	addq	$8, %r14
	cmpq	%r14, %rbp
	jne	.L4
	movl	12(%rsp), %edx
	movl	16(%rsp), %eax
	subl	20(%rsp), %eax
	cmpl	%edx, %eax
	jge	.L8
	addl	24(%rsp), %eax
	subl	28(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L9
	addl	32(%rsp), %eax
	subl	36(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L10
	addl	40(%rsp), %eax
	subl	44(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L11
	addl	48(%rsp), %eax
	subl	52(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L12
	addl	56(%rsp), %eax
	subl	60(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L13
	addl	64(%rsp), %eax
	subl	68(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L14
	addl	72(%rsp), %eax
	subl	76(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L15
	addl	80(%rsp), %eax
	subl	84(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L16
	addl	88(%rsp), %eax
	subl	92(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L17
	addl	96(%rsp), %eax
	subl	100(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L18
	addl	104(%rsp), %eax
	subl	108(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L19
	leaq	.LC2(%rip), %rdi
	call	puts@PLT
	jmp	.L2
.L3:
	movq	120(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L24
	addq	$136, %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
.L8:
	.cfi_restore_state
	xorl	%edx, %edx
	.p2align 4,,10
	.p2align 3
.L5:
	addl	$1, %edx
	movq	%r15, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	jmp	.L2
.L9:
	movl	$1, %edx
	jmp	.L5
.L10:
	movl	$2, %edx
	jmp	.L5
.L11:
	movl	$3, %edx
	jmp	.L5
.L12:
	movl	$4, %edx
	jmp	.L5
.L13:
	movl	$5, %edx
	jmp	.L5
.L14:
	movl	$6, %edx
	jmp	.L5
.L15:
	movl	$7, %edx
	jmp	.L5
.L16:
	movl	$8, %edx
	jmp	.L5
.L17:
	movl	$9, %edx
	jmp	.L5
.L18:
	movl	$10, %edx
	jmp	.L5
.L19:
	movl	$11, %edx
	jmp	.L5
.L24:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE23:
	.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:
```
rule
```assembly
	.file	"temp.c"
	.text
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"%d"
.LC1:
	.string	"%d %d"
.LC2:
	.string	"NA"
.LC3:
	.string	"%d\n"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB23:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	leaq	.LC3(%rip), %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
	leaq	.LC0(%rip), %r12
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	leaq	.LC1(%rip), %rbx
	subq	$136, %rsp
	.cfi_def_cfa_offset 192
	movq	%fs:40, %rax
	movq	%rax, 120(%rsp)
	xorl	%eax, %eax
	leaq	12(%rsp), %r13
	leaq	112(%rsp), %rbp
	.p2align 4,,10
	.p2align 3
.L2:
	movq	%r13, %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	call	__isoc99_scanf@PLT
	movl	12(%rsp), %eax
	testl	%eax, %eax
	je	.L3
	leaq	16(%rsp), %r14
	.p2align 4,,10
	.p2align 3
.L4:
	leaq	4(%r14), %rdx
	movq	%r14, %rsi
	movq	%rbx, %rdi
	xorl	%eax, %eax
	call	__isoc99_scanf@PLT
	addq	$8, %r14
	cmpq	%r14, %rbp
	jne	.L4
	movl	12(%rsp), %edx
	movl	16(%rsp), %eax
	subl	20(%rsp), %eax
	cmpl	%edx, %eax
	jge	.L8
	addl	24(%rsp), %eax
	subl	28(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L9
	addl	32(%rsp), %eax
	subl	36(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L10
	addl	40(%rsp), %eax
	subl	44(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L11
	addl	48(%rsp), %eax
	subl	52(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L12
	addl	56(%rsp), %eax
	subl	60(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L13
	addl	64(%rsp), %eax
	subl	68(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L14
	addl	72(%rsp), %eax
	subl	76(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L15
	addl	80(%rsp), %eax
	subl	84(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L16
	addl	88(%rsp), %eax
	subl	92(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L17
	addl	96(%rsp), %eax
	subl	100(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L18
	addl	104(%rsp), %eax
	subl	108(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L19
	leaq	.LC2(%rip), %rdi
	call	puts@PLT
	jmp	.L2
.L3:
	movq	120(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L24
	addq	$136, %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
.L8:
	.cfi_restore_state
	xorl	%edx, %edx
	.p2align 4,,10
	.p2align 3
.L5:
	addl	$1, %edx
	movq	%r15, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	jmp	.L2
.L9:
	movl	$1, %edx
	jmp	.L5
.L10:
	movl	$2, %edx
	jmp	.L5
.L11:
	movl	$3, %edx
	jmp	.L5
.L12:
	movl	$4, %edx
	jmp	.L5
.L13:
	movl	$5, %edx
	jmp	.L5
.L14:
	movl	$6, %edx
	jmp	.L5
.L15:
	movl	$7, %edx
	jmp	.L5
.L16:
	movl	$8, %edx
	jmp	.L5
.L17:
	movl	$9, %edx
	jmp	.L5
.L18:
	movl	$10, %edx
	jmp	.L5
.L19:
	movl	$11, %edx
	jmp	.L5
.L24:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE23:
	.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:
```
```c
#include <stdio.h>
int main(void)
{
  int l;
  int hiyou[12][2];
  int i;

  while(1){
    int sum=0;
    int m=0;
    scanf("%d",&l);
    if(l==0)
      break;

    for(i=0;i<12;i++)
      scanf("%d %d",&hiyou[i][0],&hiyou[i][1]);

    for(i=0;i<12;i++){
      sum+=hiyou[i][0]-hiyou[i][1];
      if(sum>=l){
	m=i+1;
	break;
      }
    }

    if(m)
      printf("%d\n",m);
    else
      printf("NA\n");
  }

  return 0;
}```
Given the following C code, your task is to generate highly optimized x86-64 assembly code.
C Code:

```c
#include <stdio.h>
int main(void)
{
  int l;
  int hiyou[12][2];
  int i;

  while(1){
    int sum=0;
    int m=0;
    scanf("%d",&l);
    if(l==0)
      break;

    for(i=0;i<12;i++)
      scanf("%d %d",&hiyou[i][0],&hiyou[i][1]);

    for(i=0;i<12;i++){
      sum+=hiyou[i][0]-hiyou[i][1];
      if(sum>=l){
	m=i+1;
	break;
      }
    }

    if(m)
      printf("%d\n",m);
    else
      printf("NA\n");
  }

  return 0;
}```

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.
Optimized Assembly Code:

10000
5000 3150
5000 5000
0 0
5000 1050
5000 3980
5000 210
5000 5000
5000 5000
0 0
5000 2100
5000 2100
5000 2100
29170
100000 100000
100000 100000
100000 100000
100000 100000
100000 100000
100000 100000
100000 100000
100000 101000
100000 100000
100000 100000
100000 100000
100000 70831
0
 10000
1225 3150
5000 5000
0 0
5000 1050
5000 3980
5000 210
5000 5000
5000 5000
0 0
5000 2100
5000 2494
5000 2100
29170
100000 100000
100000 100000
100000 100000
100000 100000
100000 100000
100000 101000
100000 100000
100000 100000
100000 100000
100000 100000
100000 100000
100000 70831
0
 10000
1225 3150
5000 5000
0 0
5000 1050
5000 3980
5000 210
5000 5000
5000 5000
0 0
5075 2100
5000 2494
5000 2100
29170
100000 100000
100000 100000
100000 100000
100000 100000
100000 100000
100000 101000
100000 100000
100000 100000
100000 100000
100000 100000
100000 000000
100000 70831
0
 10000
1225 3150
5000 6694
0 0
5000 1050
5000 3980
5000 210
5000 5000
5000 5000
0 0
5075 2100
5000 2494
5000 2100
29170
100000 100000
100000 100000
100000 100000
100000 100000
100000 100000
100000 101000
100000 100000
100000 100000
100000 100000
100000 100000
100000 000000
100000 70831
0
 10000
1225 3150
5000 6694
0 0
5000 1050
5000 3980
5000 210
5000 5000
5000 5000
0 0
5075 2100
9143 2494
5000 2100
29170
100000 000000
100010 100000
100000 100000
100000 100000
100000 100000
100000 101000
100000 100000
100000 100000
100000 100000
100000 100000
100000 000000
100000 70831
0
 10000
1225 3150
5000 6694
0 0
5000 1050
5000 2519
5000 210
5000 5000
5000 5000
-1 0
5075 2100
9143 2494
5000 2100
29170
100000 000000
100010 110000
100000 100000
100000 100000
100000 100000
100000 101000
100000 100000
100000 100000
100000 100000
100000 100000
100000 000000
100000 70831
0
 10000
1225 3150
5000 5000
0 0
5000 1050
5000 3980
5000 210
5000 5000
5000 2831
0 0
5075 2100
5000 2494
5000 2100
29170
100000 100000
100000 100000
100000 100000
100000 100000
100000 100000
100000 101000
100000 100000
100000 100000
100000 100000
100000 100000
100000 000000
100000 70831
0
 10000
1225 3150
5000 6694
0 0
5000 1050
5000 3980
5000 210
5000 6907
5000 5000
0 0
5075 2100
5000 2494
5000 2100
29170
100000 100000
100010 100000
100000 100000
100000 100000
100000 100000
100000 101000
100000 100000
100000 100000
100000 100000
100000 100000
100000 000000
100000 70831
0
 10000
1225 3150
5000 6694
1 0
7545 1050
5000 2519
5000 210
5000 5000
5000 5000
-1 0
5075 1589
9143 2494
5000 2100
29170
100000 000000
100010 110000
100000 100000
100000 100000
100100 100000
100000 111000
100000 100000
101000 100000
100000 100000
100000 100000
100000 000000
100000 131331
0
 10000
1225 3150
5000 6694
0 0
5000 1050
5000 2519
5000 254
522 5000
5000 7588
-1 0
5075 3046
9143 2494
5000 2100
29170
100000 000000
100010 110000
100000 100000
100000 100000
101100 100000
100000 111000
101000 100000
101000 100000
100000 100000
100000 100000
100000 000000
100000 131331
0

6
NA
 10
NA
 10
11
 11
11
 11
1
 10
1
 8
11
 12
11
 6
1
 12
1

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

```c
#include <stdio.h>
int main(void)
{
  int l;
  int hiyou[12][2];
  int i;

  while(1){
    int sum=0;
    int m=0;
    scanf("%d",&l);
    if(l==0)
      break;

    for(i=0;i<12;i++)
      scanf("%d %d",&hiyou[i][0],&hiyou[i][1]);

    for(i=0;i<12;i++){
      sum+=hiyou[i][0]-hiyou[i][1];
      if(sum>=l){
	m=i+1;
	break;
      }
    }

    if(m)
      printf("%d\n",m);
    else
      printf("NA\n");
  }

  return 0;
}```

Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"%d"
.LC1:
	.string	"%d %d"
.LC2:
	.string	"NA"
.LC3:
	.string	"%d\n"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB23:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	leaq	.LC3(%rip), %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
	leaq	.LC0(%rip), %r12
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	leaq	.LC1(%rip), %rbx
	subq	$136, %rsp
	.cfi_def_cfa_offset 192
	movq	%fs:40, %rax
	movq	%rax, 120(%rsp)
	xorl	%eax, %eax
	leaq	12(%rsp), %r13
	leaq	112(%rsp), %rbp
	.p2align 4,,10
	.p2align 3
.L2:
	movq	%r13, %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	call	__isoc99_scanf@PLT
	movl	12(%rsp), %eax
	testl	%eax, %eax
	je	.L3
	leaq	16(%rsp), %r14
	.p2align 4,,10
	.p2align 3
.L4:
	leaq	4(%r14), %rdx
	movq	%r14, %rsi
	movq	%rbx, %rdi
	xorl	%eax, %eax
	call	__isoc99_scanf@PLT
	addq	$8, %r14
	cmpq	%r14, %rbp
	jne	.L4
	movl	12(%rsp), %edx
	movl	16(%rsp), %eax
	subl	20(%rsp), %eax
	cmpl	%edx, %eax
	jge	.L8
	addl	24(%rsp), %eax
	subl	28(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L9
	addl	32(%rsp), %eax
	subl	36(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L10
	addl	40(%rsp), %eax
	subl	44(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L11
	addl	48(%rsp), %eax
	subl	52(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L12
	addl	56(%rsp), %eax
	subl	60(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L13
	addl	64(%rsp), %eax
	subl	68(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L14
	addl	72(%rsp), %eax
	subl	76(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L15
	addl	80(%rsp), %eax
	subl	84(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L16
	addl	88(%rsp), %eax
	subl	92(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L17
	addl	96(%rsp), %eax
	subl	100(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L18
	addl	104(%rsp), %eax
	subl	108(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L19
	leaq	.LC2(%rip), %rdi
	call	puts@PLT
	jmp	.L2
.L3:
	movq	120(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L24
	addq	$136, %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
.L8:
	.cfi_restore_state
	xorl	%edx, %edx
	.p2align 4,,10
	.p2align 3
.L5:
	addl	$1, %edx
	movq	%r15, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	jmp	.L2
.L9:
	movl	$1, %edx
	jmp	.L5
.L10:
	movl	$2, %edx
	jmp	.L5
.L11:
	movl	$3, %edx
	jmp	.L5
.L12:
	movl	$4, %edx
	jmp	.L5
.L13:
	movl	$5, %edx
	jmp	.L5
.L14:
	movl	$6, %edx
	jmp	.L5
.L15:
	movl	$7, %edx
	jmp	.L5
.L16:
	movl	$8, %edx
	jmp	.L5
.L17:
	movl	$9, %edx
	jmp	.L5
.L18:
	movl	$10, %edx
	jmp	.L5
.L19:
	movl	$11, %edx
	jmp	.L5
.L24:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE23:
	.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.
Optimized Assembly Code:

train
```assembly
	.file	"temp.c"
	.text
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"%d"
.LC1:
	.string	"%d %d"
.LC2:
	.string	"NA"
.LC3:
	.string	"%d\n"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB23:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	leaq	.LC3(%rip), %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
	leaq	.LC0(%rip), %r12
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	leaq	.LC1(%rip), %rbx
	subq	$136, %rsp
	.cfi_def_cfa_offset 192
	movq	%fs:40, %rax
	movq	%rax, 120(%rsp)
	xorl	%eax, %eax
	leaq	12(%rsp), %r13
	leaq	112(%rsp), %rbp
	.p2align 4,,10
	.p2align 3
.L2:
	movq	%r13, %rsi
	movq	%r12, %rdi
	xorl	%eax, %eax
	call	__isoc99_scanf@PLT
	movl	12(%rsp), %eax
	testl	%eax, %eax
	je	.L3
	leaq	16(%rsp), %r14
	.p2align 4,,10
	.p2align 3
.L4:
	leaq	4(%r14), %rdx
	movq	%r14, %rsi
	movq	%rbx, %rdi
	xorl	%eax, %eax
	call	__isoc99_scanf@PLT
	addq	$8, %r14
	cmpq	%r14, %rbp
	jne	.L4
	movl	12(%rsp), %edx
	movl	16(%rsp), %eax
	subl	20(%rsp), %eax
	cmpl	%edx, %eax
	jge	.L8
	addl	24(%rsp), %eax
	subl	28(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L9
	addl	32(%rsp), %eax
	subl	36(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L10
	addl	40(%rsp), %eax
	subl	44(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L11
	addl	48(%rsp), %eax
	subl	52(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L12
	addl	56(%rsp), %eax
	subl	60(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L13
	addl	64(%rsp), %eax
	subl	68(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L14
	addl	72(%rsp), %eax
	subl	76(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L15
	addl	80(%rsp), %eax
	subl	84(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L16
	addl	88(%rsp), %eax
	subl	92(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L17
	addl	96(%rsp), %eax
	subl	100(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L18
	addl	104(%rsp), %eax
	subl	108(%rsp), %eax
	cmpl	%eax, %edx
	jle	.L19
	leaq	.LC2(%rip), %rdi
	call	puts@PLT
	jmp	.L2
.L3:
	movq	120(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L24
	addq	$136, %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
.L8:
	.cfi_restore_state
	xorl	%edx, %edx
	.p2align 4,,10
	.p2align 3
.L5:
	addl	$1, %edx
	movq	%r15, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	jmp	.L2
.L9:
	movl	$1, %edx
	jmp	.L5
.L10:
	movl	$2, %edx
	jmp	.L5
.L11:
	movl	$3, %edx
	jmp	.L5
.L12:
	movl	$4, %edx
	jmp	.L5
.L13:
	movl	$5, %edx
	jmp	.L5
.L14:
	movl	$6, %edx
	jmp	.L5
.L15:
	movl	$7, %edx
	jmp	.L5
.L16:
	movl	$8, %edx
	jmp	.L5
.L17:
	movl	$9, %edx
	jmp	.L5
.L18:
	movl	$10, %edx
	jmp	.L5
.L19:
	movl	$11, %edx
	jmp	.L5
.L24:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE23:
	.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:
```