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>
#include <string.h>

int main() {

    int arr[3][3];
    int a, n, b;

    for (int i = 0; i < 3; i++) {
        scanf("%d", &a);
        arr[0][i] = a;
    }
    for (int i = 0; i < 3; i++) {
        scanf("%d", &a);
        arr[1][i] = a;
    }
    for (int i = 0; i < 3; i++) {
        scanf("%d", &a);
        arr[2][i] = a;
    }
    scanf("%d", &n);
    for (int j = 0; j < n; j++) {
        scanf("%d", &b);
        for (int k = 0; k < 3; k++) {
            for (int l = 0; l < 3; l++) {
                if (arr[k][l] == b) {
                    arr[k][l] = 0;
                    break;
                }
            }
        }
    }

    int isCheck = 0;
    for (int k = 0; k < 3; k++) {
        for (int l = 0; l < 3; l++) {
            //縦に揃う（３pt）
            if (arr[0][0] == 0 && arr[1][0] == 0 && arr[2][0] == 0) {
                isCheck = 1;
            } else if (arr[0][1] == 0 && arr[1][1] == 0 && arr[2][1] == 0) {
                isCheck = 1;
            } else if (arr[0][2] == 0 && arr[1][2] == 0 && arr[2][2] == 0) {
                isCheck = 1;
                //横に揃う（３pt）
            } else if (arr[0][0] == 0 && arr[0][1] == 0 && arr[0][2] == 0) {
                isCheck = 1;
            } else if (arr[1][0] == 0 && arr[1][1] == 0 && arr[1][2] == 0) {
                isCheck = 1;
            } else if (arr[2][0] == 0 && arr[2][1] == 0 && arr[2][2] == 0) {
                isCheck = 1;
                //斜めに揃う（2pt）
            } else if (arr[0][0] == 0 && arr[1][1] == 0 && arr[2][2] == 0) {
                isCheck = 1;
            } else if (arr[0][2] == 0 && arr[1][1] == 0 && arr[2][0] == 0) {
                isCheck = 1;
            }
        }

    }

    printf("%s", (isCheck == 1 ? "Yes" : "No"));


    return 0;
} ```

Unoptimized Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.section	.rodata
.LC0:
	.string	"%d"
.LC1:
	.string	"Yes"
.LC2:
	.string	"No"
.LC3:
	.string	"%s"
	.text
	.globl	main
	.type	main, @function
main:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$96, %rsp
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movl	$0, -84(%rbp)
	jmp	.L2
.L3:
	leaq	-96(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	-96(%rbp), %edx
	movl	-84(%rbp), %eax
	cltq
	movl	%edx, -48(%rbp,%rax,4)
	addl	$1, -84(%rbp)
.L2:
	cmpl	$2, -84(%rbp)
	jle	.L3
	movl	$0, -80(%rbp)
	jmp	.L4
.L5:
	leaq	-96(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	-96(%rbp), %eax
	movl	-80(%rbp), %edx
	movslq	%edx, %rdx
	addq	$3, %rdx
	movl	%eax, -48(%rbp,%rdx,4)
	addl	$1, -80(%rbp)
.L4:
	cmpl	$2, -80(%rbp)
	jle	.L5
	movl	$0, -76(%rbp)
	jmp	.L6
.L7:
	leaq	-96(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	-96(%rbp), %eax
	movl	-76(%rbp), %edx
	movslq	%edx, %rdx
	addq	$6, %rdx
	movl	%eax, -48(%rbp,%rdx,4)
	addl	$1, -76(%rbp)
.L6:
	cmpl	$2, -76(%rbp)
	jle	.L7
	leaq	-92(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	$0, -72(%rbp)
	jmp	.L8
.L15:
	leaq	-88(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	$0, -68(%rbp)
	jmp	.L9
.L14:
	movl	$0, -64(%rbp)
	jmp	.L10
.L13:
	movl	-64(%rbp), %eax
	movslq	%eax, %rcx
	movl	-68(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	addq	%rcx, %rax
	movl	-48(%rbp,%rax,4), %edx
	movl	-88(%rbp), %eax
	cmpl	%eax, %edx
	jne	.L11
	movl	-64(%rbp), %eax
	movslq	%eax, %rcx
	movl	-68(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	addq	%rcx, %rax
	movl	$0, -48(%rbp,%rax,4)
	jmp	.L12
.L11:
	addl	$1, -64(%rbp)
.L10:
	cmpl	$2, -64(%rbp)
	jle	.L13
.L12:
	addl	$1, -68(%rbp)
.L9:
	cmpl	$2, -68(%rbp)
	jle	.L14
	addl	$1, -72(%rbp)
.L8:
	movl	-92(%rbp), %eax
	cmpl	%eax, -72(%rbp)
	jl	.L15
	movl	$0, -60(%rbp)
	movl	$0, -56(%rbp)
	jmp	.L16
.L27:
	movl	$0, -52(%rbp)
	jmp	.L17
.L26:
	movl	-48(%rbp), %eax
	testl	%eax, %eax
	jne	.L18
	movl	-36(%rbp), %eax
	testl	%eax, %eax
	jne	.L18
	movl	-24(%rbp), %eax
	testl	%eax, %eax
	jne	.L18
	movl	$1, -60(%rbp)
	jmp	.L19
.L18:
	movl	-44(%rbp), %eax
	testl	%eax, %eax
	jne	.L20
	movl	-32(%rbp), %eax
	testl	%eax, %eax
	jne	.L20
	movl	-20(%rbp), %eax
	testl	%eax, %eax
	jne	.L20
	movl	$1, -60(%rbp)
	jmp	.L19
.L20:
	movl	-40(%rbp), %eax
	testl	%eax, %eax
	jne	.L21
	movl	-28(%rbp), %eax
	testl	%eax, %eax
	jne	.L21
	movl	-16(%rbp), %eax
	testl	%eax, %eax
	jne	.L21
	movl	$1, -60(%rbp)
	jmp	.L19
.L21:
	movl	-48(%rbp), %eax
	testl	%eax, %eax
	jne	.L22
	movl	-44(%rbp), %eax
	testl	%eax, %eax
	jne	.L22
	movl	-40(%rbp), %eax
	testl	%eax, %eax
	jne	.L22
	movl	$1, -60(%rbp)
	jmp	.L19
.L22:
	movl	-36(%rbp), %eax
	testl	%eax, %eax
	jne	.L23
	movl	-32(%rbp), %eax
	testl	%eax, %eax
	jne	.L23
	movl	-28(%rbp), %eax
	testl	%eax, %eax
	jne	.L23
	movl	$1, -60(%rbp)
	jmp	.L19
.L23:
	movl	-24(%rbp), %eax
	testl	%eax, %eax
	jne	.L24
	movl	-20(%rbp), %eax
	testl	%eax, %eax
	jne	.L24
	movl	-16(%rbp), %eax
	testl	%eax, %eax
	jne	.L24
	movl	$1, -60(%rbp)
	jmp	.L19
.L24:
	movl	-48(%rbp), %eax
	testl	%eax, %eax
	jne	.L25
	movl	-32(%rbp), %eax
	testl	%eax, %eax
	jne	.L25
	movl	-16(%rbp), %eax
	testl	%eax, %eax
	jne	.L25
	movl	$1, -60(%rbp)
	jmp	.L19
.L25:
	movl	-40(%rbp), %eax
	testl	%eax, %eax
	jne	.L19
	movl	-32(%rbp), %eax
	testl	%eax, %eax
	jne	.L19
	movl	-24(%rbp), %eax
	testl	%eax, %eax
	jne	.L19
	movl	$1, -60(%rbp)
.L19:
	addl	$1, -52(%rbp)
.L17:
	cmpl	$2, -52(%rbp)
	jle	.L26
	addl	$1, -56(%rbp)
.L16:
	cmpl	$2, -56(%rbp)
	jle	.L27
	cmpl	$1, -60(%rbp)
	jne	.L28
	leaq	.LC1(%rip), %rax
	jmp	.L29
.L28:
	leaq	.LC2(%rip), %rax
.L29:
	movq	%rax, %rsi
	leaq	.LC3(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	$0, %eax
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L31
	call	__stack_chk_fail@PLT
.L31:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.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
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"Yes"
.LC1:
	.string	"No"
.LC2:
	.string	"%d"
.LC3:
	.string	"%s"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB35:
	.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
	leaq	.LC2(%rip), %r13
	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	$88, %rsp
	.cfi_def_cfa_offset 144
	movq	%fs:40, %rax
	movq	%rax, 72(%rsp)
	xorl	%eax, %eax
	leaq	32(%rsp), %rbx
	leaq	44(%rsp), %r12
	movq	%rbx, %rbp
	leaq	20(%rsp), %r14
.L2:
	movq	%r14, %rsi
	movq	%r13, %rdi
	xorl	%eax, %eax
	addq	$4, %rbp
	call	__isoc99_scanf@PLT
	movl	20(%rsp), %eax
	movl	%eax, -4(%rbp)
	cmpq	%rbp, %r12
	jne	.L2
	movq	%rbx, %rbp
.L3:
	movq	%r14, %rsi
	movq	%r13, %rdi
	xorl	%eax, %eax
	addq	$4, %rbp
	call	__isoc99_scanf@PLT
	movl	20(%rsp), %eax
	movl	%eax, 8(%rbp)
	cmpq	%rbp, %r12
	jne	.L3
.L4:
	movq	%r14, %rsi
	movq	%r13, %rdi
	xorl	%eax, %eax
	addq	$4, %rbx
	call	__isoc99_scanf@PLT
	movl	20(%rsp), %eax
	movl	%eax, 20(%rbx)
	cmpq	%rbx, %r12
	jne	.L4
	leaq	24(%rsp), %rsi
	movq	%r13, %rdi
	xorl	%eax, %eax
	call	__isoc99_scanf@PLT
	movl	24(%rsp), %eax
	movl	32(%rsp), %ebx
	movl	44(%rsp), %ebp
	movl	56(%rsp), %r12d
	testl	%eax, %eax
	jle	.L5
	xorl	%r15d, %r15d
	leaq	28(%rsp), %r14
	.p2align 4,,10
	.p2align 3
.L12:
	movq	%r14, %rsi
	movq	%r13, %rdi
	xorl	%eax, %eax
	call	__isoc99_scanf@PLT
	movl	28(%rsp), %eax
	cmpl	%ebx, %eax
	je	.L143
	cmpl	36(%rsp), %eax
	je	.L144
	movl	$2, %edx
	cmpl	40(%rsp), %eax
	je	.L6
.L7:
	cmpl	%ebp, %eax
	je	.L145
	cmpl	48(%rsp), %eax
	je	.L146
	movl	$2, %edx
	cmpl	52(%rsp), %eax
	je	.L8
	cmpl	%r12d, %eax
	je	.L147
.L372:
	cmpl	60(%rsp), %eax
	je	.L148
	cmpl	64(%rsp), %eax
	je	.L369
.L11:
	addl	$1, %r15d
	cmpl	%r15d, 24(%rsp)
	jg	.L12
.L5:
	movl	36(%rsp), %esi
	movl	40(%rsp), %eax
	movl	%r12d, %r15d
	movl	48(%rsp), %ecx
	movl	64(%rsp), %r9d
	orl	%ebx, %r15d
	movl	%esi, %edx
	movl	60(%rsp), %edi
	movl	%esi, %r10d
	movl	64(%rsp), %r8d
	orl	%eax, %edx
	movl	%ecx, %r13d
	orl	%ecx, %r9d
	orl	%ecx, %r10d
	orl	%ebx, %edx
	orl	%r12d, %r13d
	orl	%ecx, %edi
	orl	60(%rsp), %r8d
	movl	%edx, 4(%rsp)
	movl	52(%rsp), %edx
	movl	%eax, %r14d
	orl	%r12d, %r8d
	movl	%r13d, (%rsp)
	movl	%r9d, %r13d
	movl	52(%rsp), %r11d
	orl	%ebx, %r14d
	orl	%ecx, %edx
	orl	%eax, %ecx
	orl	%ebx, %r13d
	orl	60(%rsp), %r10d
	orl	%r12d, %ecx
	movl	%r13d, 12(%rsp)
	orl	64(%rsp), %r11d
	orl	%ebp, %edx
	movl	%ecx, 8(%rsp)
	orl	%ebp, %r15d
	jne	.L370
.L219:
	leaq	.LC0(%rip), %r9
.L77:
	xorl	%eax, %eax
	movq	%r9, %rdx
	movl	$1, %edi
	leaq	.LC3(%rip), %rsi
	call	__printf_chk@PLT
	movq	72(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L371
	addq	$88, %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
.L145:
	.cfi_restore_state
	xorl	%edx, %edx
.L8:
	movl	$0, 44(%rsp,%rdx,4)
	movl	44(%rsp), %ebp
	cmpl	%r12d, %eax
	jne	.L372
.L147:
	xorl	%eax, %eax
.L10:
	movl	$0, 56(%rsp,%rax,4)
	movl	56(%rsp), %r12d
	jmp	.L11
.L143:
	xorl	%edx, %edx
.L6:
	movl	$0, 32(%rsp,%rdx,4)
	movl	32(%rsp), %ebx
	jmp	.L7
.L370:
	testl	%r10d, %r10d
	jne	.L33
	testl	%ebx, %ebx
	jne	.L219
	testl	%ebp, %ebp
	je	.L214
	movl	$1, %ecx
	testl	%edi, %edi
	jne	.L32
.L224:
	movl	$1, %ecx
	jmp	.L24
.L33:
	testl	%eax, %eax
	jne	.L42
	testl	%r11d, %r11d
	jne	.L373
.L38:
	testl	%ebx, %ebx
	jne	.L361
	movl	$1, %ecx
.L41:
	testl	%ebp, %ebp
	je	.L35
.L22:
	testl	%esi, %esi
	je	.L374
.L32:
	testl	%eax, %eax
	je	.L25
.L30:
	testl	%edx, %edx
	jne	.L26
	testl	%ebx, %ebx
	je	.L161
.L359:
	movl	$1, %ecx
.L16:
	testl	%esi, %esi
	je	.L20
.L21:
	testl	%eax, %eax
	jne	.L19
	testl	%r11d, %r11d
	jne	.L375
	.p2align 4,,10
	.p2align 3
.L225:
	movl	$1, %ecx
.L45:
	testl	%r10d, %r10d
	jne	.L66
	testl	%ebx, %ebx
	jne	.L219
	testl	%ebp, %ebp
	je	.L211
	movl	$1, %ecx
	testl	%edi, %edi
	jne	.L65
.L221:
	movl	$1, %ecx
	jmp	.L55
.L373:
	cmpl	$0, 4(%rsp)
	je	.L376
.L42:
	testl	%edx, %edx
	jne	.L37
	testl	%ebx, %ebx
	je	.L214
.L361:
	movl	$1, %ecx
	jmp	.L22
.L37:
	testl	%r8d, %r8d
	je	.L38
	testl	%ebx, %ebx
	je	.L39
	testl	%eax, %eax
	jne	.L163
	cmpl	$0, (%rsp)
	je	.L40
.L163:
	xorl	%ecx, %ecx
	jmp	.L22
.L146:
	movl	$1, %edx
	jmp	.L8
.L144:
	movl	$1, %edx
	jmp	.L6
.L148:
	movl	$1, %eax
	jmp	.L10
.L369:
	movl	$2, %eax
	jmp	.L10
.L39:
	movl	$1, %ecx
	testl	%r9d, %r9d
	je	.L41
	xorl	%ecx, %ecx
	testl	%r14d, %r14d
	jne	.L41
	xorl	%ecx, %ecx
	cmpl	$0, (%rsp)
	sete	%cl
	jmp	.L41
.L375:
	movl	%esi, %r13d
	orl	%ebx, %r13d
	je	.L225
.L19:
	testl	%edx, %edx
	je	.L225
	testl	%r8d, %r8d
	je	.L225
	cmpl	$0, 12(%rsp)
	je	.L225
	cmpl	$0, 8(%rsp)
	movl	$1, %r13d
	cmove	%r13d, %ecx
	jmp	.L45
.L66:
	testl	%eax, %eax
	jne	.L75
	testl	%r11d, %r11d
	je	.L71
	cmpl	$0, 4(%rsp)
	je	.L377
.L75:
	testl	%edx, %edx
	jne	.L70
	testl	%ebx, %ebx
	je	.L211
.L365:
	movl	$1, %ecx
.L53:
	testl	%esi, %esi
	je	.L378
.L65:
	testl	%eax, %eax
	je	.L56
.L63:
	testl	%edx, %edx
	jne	.L57
	testl	%ebx, %ebx
	je	.L180
.L363:
	movl	$1, %ecx
.L47:
	testl	%esi, %esi
	je	.L51
.L52:
	testl	%eax, %eax
	jne	.L50
	testl	%r11d, %r11d
	jne	.L379
	.p2align 4,,10
	.p2align 3
.L366:
	movl	$1, %ecx
.L141:
	testl	%r10d, %r10d
	jne	.L380
	testl	%ebx, %ebx
	jne	.L219
	testl	%ebp, %ebp
	je	.L207
	movl	$1, %ecx
	testl	%edi, %edi
	jne	.L99
.L218:
	movl	$1, %ecx
.L93:
	testl	%ebp, %ebp
	je	.L116
.L109:
	testl	%esi, %esi
	je	.L101
.L108:
	testl	%eax, %eax
	jne	.L106
.L102:
	leaq	.LC0(%rip), %r9
	testl	%r11d, %r11d
	je	.L77
	orl	%ebx, %esi
	je	.L77
.L106:
	leaq	.LC0(%rip), %r9
	testl	%edx, %edx
	je	.L77
	testl	%r8d, %r8d
	je	.L77
	cmpl	$0, 12(%rsp)
	je	.L77
	cmpl	$0, 8(%rsp)
	jne	.L104
	jmp	.L77
.L26:
	testl	%r8d, %r8d
	jne	.L381
.L27:
	testl	%ebx, %ebx
	jne	.L359
	jmp	.L224
.L70:
	testl	%r8d, %r8d
	jne	.L382
.L71:
	testl	%ebx, %ebx
	jne	.L365
.L183:
	movl	$1, %ecx
	jmp	.L74
.L381:
	testl	%ebx, %ebx
	je	.L28
	testl	%eax, %eax
	jne	.L16
	cmpl	$0, (%rsp)
	jne	.L16
	testl	%esi, %esi
	je	.L212
	movl	$1, %ecx
	testl	%r11d, %r11d
	jne	.L19
	jmp	.L45
.L382:
	testl	%ebx, %ebx
	je	.L72
	testl	%eax, %eax
	jne	.L53
	cmpl	$0, (%rsp)
	jne	.L53
	testl	%esi, %esi
	je	.L383
	movl	$1, %ecx
	testl	%r11d, %r11d
	jne	.L63
	jmp	.L58
.L379:
	movl	%esi, %r15d
	orl	%ebx, %r15d
	je	.L366
.L50:
	testl	%edx, %edx
	je	.L366
	testl	%r8d, %r8d
	je	.L366
	cmpl	$0, 12(%rsp)
	je	.L366
	cmpl	$0, 8(%rsp)
	movl	$1, %r15d
	cmove	%r15d, %ecx
	jmp	.L141
.L380:
	testl	%eax, %eax
	jne	.L86
	testl	%r11d, %r11d
	je	.L81
	cmpl	$0, 4(%rsp)
	je	.L384
.L86:
	testl	%edx, %edx
	jne	.L385
	testl	%ebx, %ebx
	je	.L207
	movl	$1, %ecx
.L100:
	testl	%esi, %esi
	je	.L88
.L99:
	testl	%eax, %eax
	je	.L89
.L96:
	testl	%edx, %edx
	jne	.L386
	testl	%ebx, %ebx
	je	.L200
.L206:
	movl	$1, %ecx
	jmp	.L109
.L57:
	testl	%r8d, %r8d
	jne	.L387
.L58:
	testl	%ebx, %ebx
	jne	.L363
	jmp	.L221
.L385:
	testl	%r8d, %r8d
	jne	.L388
.L81:
	movl	$1, %ecx
	testl	%ebx, %ebx
	jne	.L100
.L83:
	testl	%ebp, %ebp
	jne	.L100
.L119:
	testl	%r12d, %r12d
	jne	.L100
	jmp	.L219
.L386:
	testl	%r8d, %r8d
	jne	.L389
.L91:
	movl	$1, %ecx
	testl	%ebx, %ebx
	jne	.L109
	jmp	.L93
.L389:
	testl	%ebx, %ebx
	jne	.L92
	testl	%r9d, %r9d
	je	.L218
	testl	%r14d, %r14d
	jne	.L93
	cmpl	$0, (%rsp)
	jne	.L93
	testl	%ebp, %ebp
	jne	.L206
	jmp	.L219
.L388:
	testl	%ebx, %ebx
	jne	.L82
	testl	%r9d, %r9d
	je	.L186
	testl	%r14d, %r14d
	jne	.L83
	cmpl	$0, (%rsp)
	movl	$1, %r10d
	cmove	%r10d, %ecx
	jmp	.L83
.L387:
	testl	%ebx, %ebx
	je	.L59
	testl	%eax, %eax
	jne	.L60
	cmpl	$0, (%rsp)
	jne	.L47
	testl	%esi, %esi
	je	.L208
	movl	$1, %ecx
	testl	%r11d, %r11d
	jne	.L50
	jmp	.L141
.L384:
	testl	%ebp, %ebp
	je	.L207
	testl	%edi, %edi
	je	.L206
.L367:
	movl	$1, %ecx
.L89:
	testl	%r11d, %r11d
	je	.L91
	movl	%esi, %r10d
	orl	%ebx, %r10d
	jne	.L96
	testl	%ebp, %ebp
	jne	.L219
	testl	%r12d, %r12d
	je	.L219
	movl	$1, %ecx
.L101:
	leaq	.LC0(%rip), %r9
	testl	%edi, %edi
	jne	.L108
	jmp	.L77
.L377:
	testl	%ebp, %ebp
	je	.L211
	testl	%edi, %edi
	je	.L363
.L364:
	movl	$1, %ecx
.L56:
	testl	%r11d, %r11d
	je	.L58
	movl	%esi, %r15d
	orl	%ebx, %r15d
	jne	.L63
	testl	%ebp, %ebp
	je	.L180
.L208:
	movl	$1, %ecx
.L51:
	testl	%edi, %edi
	jne	.L52
	jmp	.L366
.L376:
	testl	%ebp, %ebp
	je	.L214
	testl	%edi, %edi
	je	.L359
.L360:
	movl	$1, %ecx
.L25:
	testl	%r11d, %r11d
	je	.L27
	movl	%esi, %r13d
	orl	%ebx, %r13d
	jne	.L30
	testl	%ebp, %ebp
	je	.L161
.L212:
	movl	$1, %ecx
.L20:
	testl	%edi, %edi
	jne	.L21
	jmp	.L225
.L88:
	testl	%edi, %edi
	jne	.L99
	movl	$1, %ecx
	testl	%ebx, %ebx
	je	.L93
	jmp	.L219
.L378:
	testl	%edi, %edi
	jne	.L65
	movl	$1, %ecx
	testl	%ebx, %ebx
	je	.L55
	jmp	.L141
.L374:
	testl	%edi, %edi
	jne	.L32
	movl	$1, %ecx
	testl	%ebx, %ebx
	je	.L24
	jmp	.L45
.L59:
	testl	%r9d, %r9d
	je	.L221
	testl	%r14d, %r14d
	jne	.L55
	cmpl	$0, (%rsp)
	je	.L390
.L55:
	testl	%ebp, %ebp
	jne	.L47
.L48:
	testl	%r12d, %r12d
	jne	.L47
	jmp	.L366
.L28:
	testl	%r9d, %r9d
	je	.L224
	testl	%r14d, %r14d
	jne	.L24
	cmpl	$0, (%rsp)
	movl	$1, %r13d
	cmove	%r13d, %ecx
.L24:
	testl	%ebp, %ebp
	jne	.L16
.L17:
	testl	%r12d, %r12d
	jne	.L16
	jmp	.L225
.L92:
	testl	%eax, %eax
	jne	.L391
	cmpl	$0, (%rsp)
	jne	.L109
	testl	%esi, %esi
	je	.L392
	leaq	.LC0(%rip), %r9
	movl	$1, %ecx
	testl	%r11d, %r11d
	je	.L77
	jmp	.L106
.L82:
	testl	%eax, %eax
	jne	.L100
	cmpl	$0, (%rsp)
	jne	.L100
	testl	%esi, %esi
	je	.L393
	movl	$1, %ecx
	testl	%r11d, %r11d
	jne	.L96
	jmp	.L91
.L72:
	testl	%r9d, %r9d
	je	.L183
	testl	%r14d, %r14d
	jne	.L74
	cmpl	$0, (%rsp)
	movl	$1, %r13d
	cmove	%r13d, %ecx
.L74:
	testl	%ebp, %ebp
	jne	.L53
.L68:
	testl	%r12d, %r12d
	jne	.L53
	testl	%r15d, %r15d
	je	.L219
	jmp	.L366
.L186:
	movl	$1, %ecx
	jmp	.L83
.L60:
	testl	%esi, %esi
	jne	.L86
	jmp	.L51
.L391:
	testl	%esi, %esi
	je	.L394
.L104:
	subl	$1, %ecx
	leaq	.LC0(%rip), %r9
	leaq	.LC1(%rip), %rax
	cmovne	%rax, %r9
	jmp	.L77
.L200:
	movl	$1, %ecx
.L116:
	testl	%r12d, %r12d
	jne	.L109
	jmp	.L219
.L214:
	movl	$1, %ecx
.L35:
	testl	%r12d, %r12d
	jne	.L22
	testl	%r15d, %r15d
	je	.L219
	jmp	.L225
.L211:
	movl	$1, %ecx
	jmp	.L68
.L207:
	movl	$1, %ecx
	jmp	.L119
.L40:
	testl	%esi, %esi
	je	.L395
	movl	$1, %ecx
	testl	%r11d, %r11d
	jne	.L30
	jmp	.L27
.L161:
	movl	$1, %ecx
	jmp	.L17
.L180:
	movl	$1, %ecx
	jmp	.L48
.L394:
	leaq	.LC0(%rip), %r9
	testl	%edi, %edi
	jne	.L106
	jmp	.L77
.L390:
	testl	%ebp, %ebp
	jne	.L363
	jmp	.L219
.L393:
	testl	%edi, %edi
	jne	.L367
	jmp	.L219
.L383:
	testl	%edi, %edi
	jne	.L364
	jmp	.L366
.L392:
	leaq	.LC0(%rip), %r9
	movl	$1, %ecx
	testl	%edi, %edi
	jne	.L102
	jmp	.L77
.L395:
	testl	%edi, %edi
	jne	.L360
	jmp	.L225
.L371:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE35:
	.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
	.file	"temp.c"
	.text
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"Yes"
.LC1:
	.string	"No"
.LC2:
	.string	"%d"
.LC3:
	.string	"%s"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB35:
	.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
	leaq	.LC2(%rip), %r13
	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	$88, %rsp
	.cfi_def_cfa_offset 144
	movq	%fs:40, %rax
	movq	%rax, 72(%rsp)
	xorl	%eax, %eax
	leaq	32(%rsp), %rbx
	leaq	44(%rsp), %r12
	movq	%rbx, %rbp
	leaq	20(%rsp), %r14
.L2:
	movq	%r14, %rsi
	movq	%r13, %rdi
	xorl	%eax, %eax
	addq	$4, %rbp
	call	__isoc99_scanf@PLT
	movl	20(%rsp), %eax
	movl	%eax, -4(%rbp)
	cmpq	%rbp, %r12
	jne	.L2
	movq	%rbx, %rbp
.L3:
	movq	%r14, %rsi
	movq	%r13, %rdi
	xorl	%eax, %eax
	addq	$4, %rbp
	call	__isoc99_scanf@PLT
	movl	20(%rsp), %eax
	movl	%eax, 8(%rbp)
	cmpq	%rbp, %r12
	jne	.L3
.L4:
	movq	%r14, %rsi
	movq	%r13, %rdi
	xorl	%eax, %eax
	addq	$4, %rbx
	call	__isoc99_scanf@PLT
	movl	20(%rsp), %eax
	movl	%eax, 20(%rbx)
	cmpq	%rbx, %r12
	jne	.L4
	leaq	24(%rsp), %rsi
	movq	%r13, %rdi
	xorl	%eax, %eax
	call	__isoc99_scanf@PLT
	movl	24(%rsp), %eax
	movl	32(%rsp), %ebx
	movl	44(%rsp), %ebp
	movl	56(%rsp), %r12d
	testl	%eax, %eax
	jle	.L5
	xorl	%r15d, %r15d
	leaq	28(%rsp), %r14
	.p2align 4,,10
	.p2align 3
.L12:
	movq	%r14, %rsi
	movq	%r13, %rdi
	xorl	%eax, %eax
	call	__isoc99_scanf@PLT
	movl	28(%rsp), %eax
	cmpl	%ebx, %eax
	je	.L143
	cmpl	36(%rsp), %eax
	je	.L144
	movl	$2, %edx
	cmpl	40(%rsp), %eax
	je	.L6
.L7:
	cmpl	%ebp, %eax
	je	.L145
	cmpl	48(%rsp), %eax
	je	.L146
	movl	$2, %edx
	cmpl	52(%rsp), %eax
	je	.L8
	cmpl	%r12d, %eax
	je	.L147
.L372:
	cmpl	60(%rsp), %eax
	je	.L148
	cmpl	64(%rsp), %eax
	je	.L369
.L11:
	addl	$1, %r15d
	cmpl	%r15d, 24(%rsp)
	jg	.L12
.L5:
	movl	36(%rsp), %esi
	movl	40(%rsp), %eax
	movl	%r12d, %r15d
	movl	48(%rsp), %ecx
	movl	64(%rsp), %r9d
	orl	%ebx, %r15d
	movl	%esi, %edx
	movl	60(%rsp), %edi
	movl	%esi, %r10d
	movl	64(%rsp), %r8d
	orl	%eax, %edx
	movl	%ecx, %r13d
	orl	%ecx, %r9d
	orl	%ecx, %r10d
	orl	%ebx, %edx
	orl	%r12d, %r13d
	orl	%ecx, %edi
	orl	60(%rsp), %r8d
	movl	%edx, 4(%rsp)
	movl	52(%rsp), %edx
	movl	%eax, %r14d
	orl	%r12d, %r8d
	movl	%r13d, (%rsp)
	movl	%r9d, %r13d
	movl	52(%rsp), %r11d
	orl	%ebx, %r14d
	orl	%ecx, %edx
	orl	%eax, %ecx
	orl	%ebx, %r13d
	orl	60(%rsp), %r10d
	orl	%r12d, %ecx
	movl	%r13d, 12(%rsp)
	orl	64(%rsp), %r11d
	orl	%ebp, %edx
	movl	%ecx, 8(%rsp)
	orl	%ebp, %r15d
	jne	.L370
.L219:
	leaq	.LC0(%rip), %r9
.L77:
	xorl	%eax, %eax
	movq	%r9, %rdx
	movl	$1, %edi
	leaq	.LC3(%rip), %rsi
	call	__printf_chk@PLT
	movq	72(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L371
	addq	$88, %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
.L145:
	.cfi_restore_state
	xorl	%edx, %edx
.L8:
	movl	$0, 44(%rsp,%rdx,4)
	movl	44(%rsp), %ebp
	cmpl	%r12d, %eax
	jne	.L372
.L147:
	xorl	%eax, %eax
.L10:
	movl	$0, 56(%rsp,%rax,4)
	movl	56(%rsp), %r12d
	jmp	.L11
.L143:
	xorl	%edx, %edx
.L6:
	movl	$0, 32(%rsp,%rdx,4)
	movl	32(%rsp), %ebx
	jmp	.L7
.L370:
	testl	%r10d, %r10d
	jne	.L33
	testl	%ebx, %ebx
	jne	.L219
	testl	%ebp, %ebp
	je	.L214
	movl	$1, %ecx
	testl	%edi, %edi
	jne	.L32
.L224:
	movl	$1, %ecx
	jmp	.L24
.L33:
	testl	%eax, %eax
	jne	.L42
	testl	%r11d, %r11d
	jne	.L373
.L38:
	testl	%ebx, %ebx
	jne	.L361
	movl	$1, %ecx
.L41:
	testl	%ebp, %ebp
	je	.L35
.L22:
	testl	%esi, %esi
	je	.L374
.L32:
	testl	%eax, %eax
	je	.L25
.L30:
	testl	%edx, %edx
	jne	.L26
	testl	%ebx, %ebx
	je	.L161
.L359:
	movl	$1, %ecx
.L16:
	testl	%esi, %esi
	je	.L20
.L21:
	testl	%eax, %eax
	jne	.L19
	testl	%r11d, %r11d
	jne	.L375
	.p2align 4,,10
	.p2align 3
.L225:
	movl	$1, %ecx
.L45:
	testl	%r10d, %r10d
	jne	.L66
	testl	%ebx, %ebx
	jne	.L219
	testl	%ebp, %ebp
	je	.L211
	movl	$1, %ecx
	testl	%edi, %edi
	jne	.L65
.L221:
	movl	$1, %ecx
	jmp	.L55
.L373:
	cmpl	$0, 4(%rsp)
	je	.L376
.L42:
	testl	%edx, %edx
	jne	.L37
	testl	%ebx, %ebx
	je	.L214
.L361:
	movl	$1, %ecx
	jmp	.L22
.L37:
	testl	%r8d, %r8d
	je	.L38
	testl	%ebx, %ebx
	je	.L39
	testl	%eax, %eax
	jne	.L163
	cmpl	$0, (%rsp)
	je	.L40
.L163:
	xorl	%ecx, %ecx
	jmp	.L22
.L146:
	movl	$1, %edx
	jmp	.L8
.L144:
	movl	$1, %edx
	jmp	.L6
.L148:
	movl	$1, %eax
	jmp	.L10
.L369:
	movl	$2, %eax
	jmp	.L10
.L39:
	movl	$1, %ecx
	testl	%r9d, %r9d
	je	.L41
	xorl	%ecx, %ecx
	testl	%r14d, %r14d
	jne	.L41
	xorl	%ecx, %ecx
	cmpl	$0, (%rsp)
	sete	%cl
	jmp	.L41
.L375:
	movl	%esi, %r13d
	orl	%ebx, %r13d
	je	.L225
.L19:
	testl	%edx, %edx
	je	.L225
	testl	%r8d, %r8d
	je	.L225
	cmpl	$0, 12(%rsp)
	je	.L225
	cmpl	$0, 8(%rsp)
	movl	$1, %r13d
	cmove	%r13d, %ecx
	jmp	.L45
.L66:
	testl	%eax, %eax
	jne	.L75
	testl	%r11d, %r11d
	je	.L71
	cmpl	$0, 4(%rsp)
	je	.L377
.L75:
	testl	%edx, %edx
	jne	.L70
	testl	%ebx, %ebx
	je	.L211
.L365:
	movl	$1, %ecx
.L53:
	testl	%esi, %esi
	je	.L378
.L65:
	testl	%eax, %eax
	je	.L56
.L63:
	testl	%edx, %edx
	jne	.L57
	testl	%ebx, %ebx
	je	.L180
.L363:
	movl	$1, %ecx
.L47:
	testl	%esi, %esi
	je	.L51
.L52:
	testl	%eax, %eax
	jne	.L50
	testl	%r11d, %r11d
	jne	.L379
	.p2align 4,,10
	.p2align 3
.L366:
	movl	$1, %ecx
.L141:
	testl	%r10d, %r10d
	jne	.L380
	testl	%ebx, %ebx
	jne	.L219
	testl	%ebp, %ebp
	je	.L207
	movl	$1, %ecx
	testl	%edi, %edi
	jne	.L99
.L218:
	movl	$1, %ecx
.L93:
	testl	%ebp, %ebp
	je	.L116
.L109:
	testl	%esi, %esi
	je	.L101
.L108:
	testl	%eax, %eax
	jne	.L106
.L102:
	leaq	.LC0(%rip), %r9
	testl	%r11d, %r11d
	je	.L77
	orl	%ebx, %esi
	je	.L77
.L106:
	leaq	.LC0(%rip), %r9
	testl	%edx, %edx
	je	.L77
	testl	%r8d, %r8d
	je	.L77
	cmpl	$0, 12(%rsp)
	je	.L77
	cmpl	$0, 8(%rsp)
	jne	.L104
	jmp	.L77
.L26:
	testl	%r8d, %r8d
	jne	.L381
.L27:
	testl	%ebx, %ebx
	jne	.L359
	jmp	.L224
.L70:
	testl	%r8d, %r8d
	jne	.L382
.L71:
	testl	%ebx, %ebx
	jne	.L365
.L183:
	movl	$1, %ecx
	jmp	.L74
.L381:
	testl	%ebx, %ebx
	je	.L28
	testl	%eax, %eax
	jne	.L16
	cmpl	$0, (%rsp)
	jne	.L16
	testl	%esi, %esi
	je	.L212
	movl	$1, %ecx
	testl	%r11d, %r11d
	jne	.L19
	jmp	.L45
.L382:
	testl	%ebx, %ebx
	je	.L72
	testl	%eax, %eax
	jne	.L53
	cmpl	$0, (%rsp)
	jne	.L53
	testl	%esi, %esi
	je	.L383
	movl	$1, %ecx
	testl	%r11d, %r11d
	jne	.L63
	jmp	.L58
.L379:
	movl	%esi, %r15d
	orl	%ebx, %r15d
	je	.L366
.L50:
	testl	%edx, %edx
	je	.L366
	testl	%r8d, %r8d
	je	.L366
	cmpl	$0, 12(%rsp)
	je	.L366
	cmpl	$0, 8(%rsp)
	movl	$1, %r15d
	cmove	%r15d, %ecx
	jmp	.L141
.L380:
	testl	%eax, %eax
	jne	.L86
	testl	%r11d, %r11d
	je	.L81
	cmpl	$0, 4(%rsp)
	je	.L384
.L86:
	testl	%edx, %edx
	jne	.L385
	testl	%ebx, %ebx
	je	.L207
	movl	$1, %ecx
.L100:
	testl	%esi, %esi
	je	.L88
.L99:
	testl	%eax, %eax
	je	.L89
.L96:
	testl	%edx, %edx
	jne	.L386
	testl	%ebx, %ebx
	je	.L200
.L206:
	movl	$1, %ecx
	jmp	.L109
.L57:
	testl	%r8d, %r8d
	jne	.L387
.L58:
	testl	%ebx, %ebx
	jne	.L363
	jmp	.L221
.L385:
	testl	%r8d, %r8d
	jne	.L388
.L81:
	movl	$1, %ecx
	testl	%ebx, %ebx
	jne	.L100
.L83:
	testl	%ebp, %ebp
	jne	.L100
.L119:
	testl	%r12d, %r12d
	jne	.L100
	jmp	.L219
.L386:
	testl	%r8d, %r8d
	jne	.L389
.L91:
	movl	$1, %ecx
	testl	%ebx, %ebx
	jne	.L109
	jmp	.L93
.L389:
	testl	%ebx, %ebx
	jne	.L92
	testl	%r9d, %r9d
	je	.L218
	testl	%r14d, %r14d
	jne	.L93
	cmpl	$0, (%rsp)
	jne	.L93
	testl	%ebp, %ebp
	jne	.L206
	jmp	.L219
.L388:
	testl	%ebx, %ebx
	jne	.L82
	testl	%r9d, %r9d
	je	.L186
	testl	%r14d, %r14d
	jne	.L83
	cmpl	$0, (%rsp)
	movl	$1, %r10d
	cmove	%r10d, %ecx
	jmp	.L83
.L387:
	testl	%ebx, %ebx
	je	.L59
	testl	%eax, %eax
	jne	.L60
	cmpl	$0, (%rsp)
	jne	.L47
	testl	%esi, %esi
	je	.L208
	movl	$1, %ecx
	testl	%r11d, %r11d
	jne	.L50
	jmp	.L141
.L384:
	testl	%ebp, %ebp
	je	.L207
	testl	%edi, %edi
	je	.L206
.L367:
	movl	$1, %ecx
.L89:
	testl	%r11d, %r11d
	je	.L91
	movl	%esi, %r10d
	orl	%ebx, %r10d
	jne	.L96
	testl	%ebp, %ebp
	jne	.L219
	testl	%r12d, %r12d
	je	.L219
	movl	$1, %ecx
.L101:
	leaq	.LC0(%rip), %r9
	testl	%edi, %edi
	jne	.L108
	jmp	.L77
.L377:
	testl	%ebp, %ebp
	je	.L211
	testl	%edi, %edi
	je	.L363
.L364:
	movl	$1, %ecx
.L56:
	testl	%r11d, %r11d
	je	.L58
	movl	%esi, %r15d
	orl	%ebx, %r15d
	jne	.L63
	testl	%ebp, %ebp
	je	.L180
.L208:
	movl	$1, %ecx
.L51:
	testl	%edi, %edi
	jne	.L52
	jmp	.L366
.L376:
	testl	%ebp, %ebp
	je	.L214
	testl	%edi, %edi
	je	.L359
.L360:
	movl	$1, %ecx
.L25:
	testl	%r11d, %r11d
	je	.L27
	movl	%esi, %r13d
	orl	%ebx, %r13d
	jne	.L30
	testl	%ebp, %ebp
	je	.L161
.L212:
	movl	$1, %ecx
.L20:
	testl	%edi, %edi
	jne	.L21
	jmp	.L225
.L88:
	testl	%edi, %edi
	jne	.L99
	movl	$1, %ecx
	testl	%ebx, %ebx
	je	.L93
	jmp	.L219
.L378:
	testl	%edi, %edi
	jne	.L65
	movl	$1, %ecx
	testl	%ebx, %ebx
	je	.L55
	jmp	.L141
.L374:
	testl	%edi, %edi
	jne	.L32
	movl	$1, %ecx
	testl	%ebx, %ebx
	je	.L24
	jmp	.L45
.L59:
	testl	%r9d, %r9d
	je	.L221
	testl	%r14d, %r14d
	jne	.L55
	cmpl	$0, (%rsp)
	je	.L390
.L55:
	testl	%ebp, %ebp
	jne	.L47
.L48:
	testl	%r12d, %r12d
	jne	.L47
	jmp	.L366
.L28:
	testl	%r9d, %r9d
	je	.L224
	testl	%r14d, %r14d
	jne	.L24
	cmpl	$0, (%rsp)
	movl	$1, %r13d
	cmove	%r13d, %ecx
.L24:
	testl	%ebp, %ebp
	jne	.L16
.L17:
	testl	%r12d, %r12d
	jne	.L16
	jmp	.L225
.L92:
	testl	%eax, %eax
	jne	.L391
	cmpl	$0, (%rsp)
	jne	.L109
	testl	%esi, %esi
	je	.L392
	leaq	.LC0(%rip), %r9
	movl	$1, %ecx
	testl	%r11d, %r11d
	je	.L77
	jmp	.L106
.L82:
	testl	%eax, %eax
	jne	.L100
	cmpl	$0, (%rsp)
	jne	.L100
	testl	%esi, %esi
	je	.L393
	movl	$1, %ecx
	testl	%r11d, %r11d
	jne	.L96
	jmp	.L91
.L72:
	testl	%r9d, %r9d
	je	.L183
	testl	%r14d, %r14d
	jne	.L74
	cmpl	$0, (%rsp)
	movl	$1, %r13d
	cmove	%r13d, %ecx
.L74:
	testl	%ebp, %ebp
	jne	.L53
.L68:
	testl	%r12d, %r12d
	jne	.L53
	testl	%r15d, %r15d
	je	.L219
	jmp	.L366
.L186:
	movl	$1, %ecx
	jmp	.L83
.L60:
	testl	%esi, %esi
	jne	.L86
	jmp	.L51
.L391:
	testl	%esi, %esi
	je	.L394
.L104:
	subl	$1, %ecx
	leaq	.LC0(%rip), %r9
	leaq	.LC1(%rip), %rax
	cmovne	%rax, %r9
	jmp	.L77
.L200:
	movl	$1, %ecx
.L116:
	testl	%r12d, %r12d
	jne	.L109
	jmp	.L219
.L214:
	movl	$1, %ecx
.L35:
	testl	%r12d, %r12d
	jne	.L22
	testl	%r15d, %r15d
	je	.L219
	jmp	.L225
.L211:
	movl	$1, %ecx
	jmp	.L68
.L207:
	movl	$1, %ecx
	jmp	.L119
.L40:
	testl	%esi, %esi
	je	.L395
	movl	$1, %ecx
	testl	%r11d, %r11d
	jne	.L30
	jmp	.L27
.L161:
	movl	$1, %ecx
	jmp	.L17
.L180:
	movl	$1, %ecx
	jmp	.L48
.L394:
	leaq	.LC0(%rip), %r9
	testl	%edi, %edi
	jne	.L106
	jmp	.L77
.L390:
	testl	%ebp, %ebp
	jne	.L363
	jmp	.L219
.L393:
	testl	%edi, %edi
	jne	.L367
	jmp	.L219
.L383:
	testl	%edi, %edi
	jne	.L364
	jmp	.L366
.L392:
	leaq	.LC0(%rip), %r9
	movl	$1, %ecx
	testl	%edi, %edi
	jne	.L102
	jmp	.L77
.L395:
	testl	%edi, %edi
	jne	.L360
	jmp	.L225
.L371:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE35:
	.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:

#include <stdio.h>
#include <string.h>

int main() {

    int arr[3][3];
    int a, n, b;

    for (int i = 0; i < 3; i++) {
        scanf("%d", &a);
        arr[0][i] = a;
    }
    for (int i = 0; i < 3; i++) {
        scanf("%d", &a);
        arr[1][i] = a;
    }
    for (int i = 0; i < 3; i++) {
        scanf("%d", &a);
        arr[2][i] = a;
    }
    scanf("%d", &n);
    for (int j = 0; j < n; j++) {
        scanf("%d", &b);
        for (int k = 0; k < 3; k++) {
            for (int l = 0; l < 3; l++) {
                if (arr[k][l] == b) {
                    arr[k][l] = 0;
                    break;
                }
            }
        }
    }

    int isCheck = 0;
    for (int k = 0; k < 3; k++) {
        for (int l = 0; l < 3; l++) {
            //縦に揃う（３pt）
            if (arr[0][0] == 0 && arr[1][0] == 0 && arr[2][0] == 0) {
                isCheck = 1;
            } else if (arr[0][1] == 0 && arr[1][1] == 0 && arr[2][1] == 0) {
                isCheck = 1;
            } else if (arr[0][2] == 0 && arr[1][2] == 0 && arr[2][2] == 0) {
                isCheck = 1;
                //横に揃う（３pt）
            } else if (arr[0][0] == 0 && arr[0][1] == 0 && arr[0][2] == 0) {
                isCheck = 1;
            } else if (arr[1][0] == 0 && arr[1][1] == 0 && arr[1][2] == 0) {
                isCheck = 1;
            } else if (arr[2][0] == 0 && arr[2][1] == 0 && arr[2][2] == 0) {
                isCheck = 1;
                //斜めに揃う（2pt）
            } else if (arr[0][0] == 0 && arr[1][1] == 0 && arr[2][2] == 0) {
                isCheck = 1;
            } else if (arr[0][2] == 0 && arr[1][1] == 0 && arr[2][0] == 0) {
                isCheck = 1;
            }
        }

    }

    printf("%s", (isCheck == 1 ? "Yes" : "No"));


    return 0;
} 
60 88 34
92 41 43
39 73 48
10
60
43
88
11
48
73
65
41
92
34
 41 7 46
26 89 2
78 92 8
5
12
45
16
57
17
 84 97 66
79 89 11
61 59 7
7
89
7
146
79
24
84
30
 60 106 34
92 41 43
39 73 48
10
60
43
88
11
48
73
65
41
92
34
 84 97 66
79 89 11
61 59 7
7
95
7
146
79
24
84
30
 41 6 46
26 89 2
78 92 8
5
12
45
16
57
17
 60 68 34
92 41 43
39 73 48
10
60
43
88
11
48
73
65
41
92
34
 84 97 66
79 89 6
61 59 7
7
95
7
146
79
24
84
30
 41 6 46
1 89 2
78 92 8
5
12
45
16
57
17
 60 68 34
92 41 43
39 73 48
10
60
43
88
10
48
73
65
41
92
34

Yes No Yes Yes No No Yes No No Yes
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>
#include <string.h>

int main() {

    int arr[3][3];
    int a, n, b;

    for (int i = 0; i < 3; i++) {
        scanf("%d", &a);
        arr[0][i] = a;
    }
    for (int i = 0; i < 3; i++) {
        scanf("%d", &a);
        arr[1][i] = a;
    }
    for (int i = 0; i < 3; i++) {
        scanf("%d", &a);
        arr[2][i] = a;
    }
    scanf("%d", &n);
    for (int j = 0; j < n; j++) {
        scanf("%d", &b);
        for (int k = 0; k < 3; k++) {
            for (int l = 0; l < 3; l++) {
                if (arr[k][l] == b) {
                    arr[k][l] = 0;
                    break;
                }
            }
        }
    }

    int isCheck = 0;
    for (int k = 0; k < 3; k++) {
        for (int l = 0; l < 3; l++) {
            //縦に揃う（３pt）
            if (arr[0][0] == 0 && arr[1][0] == 0 && arr[2][0] == 0) {
                isCheck = 1;
            } else if (arr[0][1] == 0 && arr[1][1] == 0 && arr[2][1] == 0) {
                isCheck = 1;
            } else if (arr[0][2] == 0 && arr[1][2] == 0 && arr[2][2] == 0) {
                isCheck = 1;
                //横に揃う（３pt）
            } else if (arr[0][0] == 0 && arr[0][1] == 0 && arr[0][2] == 0) {
                isCheck = 1;
            } else if (arr[1][0] == 0 && arr[1][1] == 0 && arr[1][2] == 0) {
                isCheck = 1;
            } else if (arr[2][0] == 0 && arr[2][1] == 0 && arr[2][2] == 0) {
                isCheck = 1;
                //斜めに揃う（2pt）
            } else if (arr[0][0] == 0 && arr[1][1] == 0 && arr[2][2] == 0) {
                isCheck = 1;
            } else if (arr[0][2] == 0 && arr[1][1] == 0 && arr[2][0] == 0) {
                isCheck = 1;
            }
        }

    }

    printf("%s", (isCheck == 1 ? "Yes" : "No"));


    return 0;
} ```

Unoptimized Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.section	.rodata
.LC0:
	.string	"%d"
.LC1:
	.string	"Yes"
.LC2:
	.string	"No"
.LC3:
	.string	"%s"
	.text
	.globl	main
	.type	main, @function
main:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$96, %rsp
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movl	$0, -84(%rbp)
	jmp	.L2
.L3:
	leaq	-96(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	-96(%rbp), %edx
	movl	-84(%rbp), %eax
	cltq
	movl	%edx, -48(%rbp,%rax,4)
	addl	$1, -84(%rbp)
.L2:
	cmpl	$2, -84(%rbp)
	jle	.L3
	movl	$0, -80(%rbp)
	jmp	.L4
.L5:
	leaq	-96(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	-96(%rbp), %eax
	movl	-80(%rbp), %edx
	movslq	%edx, %rdx
	addq	$3, %rdx
	movl	%eax, -48(%rbp,%rdx,4)
	addl	$1, -80(%rbp)
.L4:
	cmpl	$2, -80(%rbp)
	jle	.L5
	movl	$0, -76(%rbp)
	jmp	.L6
.L7:
	leaq	-96(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	-96(%rbp), %eax
	movl	-76(%rbp), %edx
	movslq	%edx, %rdx
	addq	$6, %rdx
	movl	%eax, -48(%rbp,%rdx,4)
	addl	$1, -76(%rbp)
.L6:
	cmpl	$2, -76(%rbp)
	jle	.L7
	leaq	-92(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	$0, -72(%rbp)
	jmp	.L8
.L15:
	leaq	-88(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	$0, -68(%rbp)
	jmp	.L9
.L14:
	movl	$0, -64(%rbp)
	jmp	.L10
.L13:
	movl	-64(%rbp), %eax
	movslq	%eax, %rcx
	movl	-68(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	addq	%rcx, %rax
	movl	-48(%rbp,%rax,4), %edx
	movl	-88(%rbp), %eax
	cmpl	%eax, %edx
	jne	.L11
	movl	-64(%rbp), %eax
	movslq	%eax, %rcx
	movl	-68(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	addq	%rcx, %rax
	movl	$0, -48(%rbp,%rax,4)
	jmp	.L12
.L11:
	addl	$1, -64(%rbp)
.L10:
	cmpl	$2, -64(%rbp)
	jle	.L13
.L12:
	addl	$1, -68(%rbp)
.L9:
	cmpl	$2, -68(%rbp)
	jle	.L14
	addl	$1, -72(%rbp)
.L8:
	movl	-92(%rbp), %eax
	cmpl	%eax, -72(%rbp)
	jl	.L15
	movl	$0, -60(%rbp)
	movl	$0, -56(%rbp)
	jmp	.L16
.L27:
	movl	$0, -52(%rbp)
	jmp	.L17
.L26:
	movl	-48(%rbp), %eax
	testl	%eax, %eax
	jne	.L18
	movl	-36(%rbp), %eax
	testl	%eax, %eax
	jne	.L18
	movl	-24(%rbp), %eax
	testl	%eax, %eax
	jne	.L18
	movl	$1, -60(%rbp)
	jmp	.L19
.L18:
	movl	-44(%rbp), %eax
	testl	%eax, %eax
	jne	.L20
	movl	-32(%rbp), %eax
	testl	%eax, %eax
	jne	.L20
	movl	-20(%rbp), %eax
	testl	%eax, %eax
	jne	.L20
	movl	$1, -60(%rbp)
	jmp	.L19
.L20:
	movl	-40(%rbp), %eax
	testl	%eax, %eax
	jne	.L21
	movl	-28(%rbp), %eax
	testl	%eax, %eax
	jne	.L21
	movl	-16(%rbp), %eax
	testl	%eax, %eax
	jne	.L21
	movl	$1, -60(%rbp)
	jmp	.L19
.L21:
	movl	-48(%rbp), %eax
	testl	%eax, %eax
	jne	.L22
	movl	-44(%rbp), %eax
	testl	%eax, %eax
	jne	.L22
	movl	-40(%rbp), %eax
	testl	%eax, %eax
	jne	.L22
	movl	$1, -60(%rbp)
	jmp	.L19
.L22:
	movl	-36(%rbp), %eax
	testl	%eax, %eax
	jne	.L23
	movl	-32(%rbp), %eax
	testl	%eax, %eax
	jne	.L23
	movl	-28(%rbp), %eax
	testl	%eax, %eax
	jne	.L23
	movl	$1, -60(%rbp)
	jmp	.L19
.L23:
	movl	-24(%rbp), %eax
	testl	%eax, %eax
	jne	.L24
	movl	-20(%rbp), %eax
	testl	%eax, %eax
	jne	.L24
	movl	-16(%rbp), %eax
	testl	%eax, %eax
	jne	.L24
	movl	$1, -60(%rbp)
	jmp	.L19
.L24:
	movl	-48(%rbp), %eax
	testl	%eax, %eax
	jne	.L25
	movl	-32(%rbp), %eax
	testl	%eax, %eax
	jne	.L25
	movl	-16(%rbp), %eax
	testl	%eax, %eax
	jne	.L25
	movl	$1, -60(%rbp)
	jmp	.L19
.L25:
	movl	-40(%rbp), %eax
	testl	%eax, %eax
	jne	.L19
	movl	-32(%rbp), %eax
	testl	%eax, %eax
	jne	.L19
	movl	-24(%rbp), %eax
	testl	%eax, %eax
	jne	.L19
	movl	$1, -60(%rbp)
.L19:
	addl	$1, -52(%rbp)
.L17:
	cmpl	$2, -52(%rbp)
	jle	.L26
	addl	$1, -56(%rbp)
.L16:
	cmpl	$2, -56(%rbp)
	jle	.L27
	cmpl	$1, -60(%rbp)
	jne	.L28
	leaq	.LC1(%rip), %rax
	jmp	.L29
.L28:
	leaq	.LC2(%rip), %rax
.L29:
	movq	%rax, %rsi
	leaq	.LC3(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	$0, %eax
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L31
	call	__stack_chk_fail@PLT
.L31:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.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
	.section	.rodata
.LC0:
	.string	"%d"
.LC1:
	.string	"Yes"
.LC2:
	.string	"No"
.LC3:
	.string	"%s"
	.text
	.globl	main
	.type	main, @function
main:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$96, %rsp
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movl	$0, -84(%rbp)
	jmp	.L2
.L3:
	leaq	-96(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	-96(%rbp), %edx
	movl	-84(%rbp), %eax
	cltq
	movl	%edx, -48(%rbp,%rax,4)
	addl	$1, -84(%rbp)
.L2:
	cmpl	$2, -84(%rbp)
	jle	.L3
	movl	$0, -80(%rbp)
	jmp	.L4
.L5:
	leaq	-96(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	-96(%rbp), %eax
	movl	-80(%rbp), %edx
	movslq	%edx, %rdx
	addq	$3, %rdx
	movl	%eax, -48(%rbp,%rdx,4)
	addl	$1, -80(%rbp)
.L4:
	cmpl	$2, -80(%rbp)
	jle	.L5
	movl	$0, -76(%rbp)
	jmp	.L6
.L7:
	leaq	-96(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	-96(%rbp), %eax
	movl	-76(%rbp), %edx
	movslq	%edx, %rdx
	addq	$6, %rdx
	movl	%eax, -48(%rbp,%rdx,4)
	addl	$1, -76(%rbp)
.L6:
	cmpl	$2, -76(%rbp)
	jle	.L7
	leaq	-92(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	$0, -72(%rbp)
	jmp	.L8
.L15:
	leaq	-88(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	$0, -68(%rbp)
	jmp	.L9
.L14:
	movl	$0, -64(%rbp)
	jmp	.L10
.L13:
	movl	-64(%rbp), %eax
	movslq	%eax, %rcx
	movl	-68(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	addq	%rcx, %rax
	movl	-48(%rbp,%rax,4), %edx
	movl	-88(%rbp), %eax
	cmpl	%eax, %edx
	jne	.L11
	movl	-64(%rbp), %eax
	movslq	%eax, %rcx
	movl	-68(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	addq	%rcx, %rax
	movl	$0, -48(%rbp,%rax,4)
	jmp	.L12
.L11:
	addl	$1, -64(%rbp)
.L10:
	cmpl	$2, -64(%rbp)
	jle	.L13
.L12:
	addl	$1, -68(%rbp)
.L9:
	cmpl	$2, -68(%rbp)
	jle	.L14
	addl	$1, -72(%rbp)
.L8:
	movl	-92(%rbp), %eax
	cmpl	%eax, -72(%rbp)
	jl	.L15
	movl	$0, -60(%rbp)
	movl	$0, -56(%rbp)
	jmp	.L16
.L27:
	movl	$0, -52(%rbp)
	jmp	.L17
.L26:
	movl	-48(%rbp), %eax
	testl	%eax, %eax
	jne	.L18
	movl	-36(%rbp), %eax
	testl	%eax, %eax
	jne	.L18
	movl	-24(%rbp), %eax
	testl	%eax, %eax
	jne	.L18
	movl	$1, -60(%rbp)
	jmp	.L19
.L18:
	movl	-44(%rbp), %eax
	testl	%eax, %eax
	jne	.L20
	movl	-32(%rbp), %eax
	testl	%eax, %eax
	jne	.L20
	movl	-20(%rbp), %eax
	testl	%eax, %eax
	jne	.L20
	movl	$1, -60(%rbp)
	jmp	.L19
.L20:
	movl	-40(%rbp), %eax
	testl	%eax, %eax
	jne	.L21
	movl	-28(%rbp), %eax
	testl	%eax, %eax
	jne	.L21
	movl	-16(%rbp), %eax
	testl	%eax, %eax
	jne	.L21
	movl	$1, -60(%rbp)
	jmp	.L19
.L21:
	movl	-48(%rbp), %eax
	testl	%eax, %eax
	jne	.L22
	movl	-44(%rbp), %eax
	testl	%eax, %eax
	jne	.L22
	movl	-40(%rbp), %eax
	testl	%eax, %eax
	jne	.L22
	movl	$1, -60(%rbp)
	jmp	.L19
.L22:
	movl	-36(%rbp), %eax
	testl	%eax, %eax
	jne	.L23
	movl	-32(%rbp), %eax
	testl	%eax, %eax
	jne	.L23
	movl	-28(%rbp), %eax
	testl	%eax, %eax
	jne	.L23
	movl	$1, -60(%rbp)
	jmp	.L19
.L23:
	movl	-24(%rbp), %eax
	testl	%eax, %eax
	jne	.L24
	movl	-20(%rbp), %eax
	testl	%eax, %eax
	jne	.L24
	movl	-16(%rbp), %eax
	testl	%eax, %eax
	jne	.L24
	movl	$1, -60(%rbp)
	jmp	.L19
.L24:
	movl	-48(%rbp), %eax
	testl	%eax, %eax
	jne	.L25
	movl	-32(%rbp), %eax
	testl	%eax, %eax
	jne	.L25
	movl	-16(%rbp), %eax
	testl	%eax, %eax
	jne	.L25
	movl	$1, -60(%rbp)
	jmp	.L19
.L25:
	movl	-40(%rbp), %eax
	testl	%eax, %eax
	jne	.L19
	movl	-32(%rbp), %eax
	testl	%eax, %eax
	jne	.L19
	movl	-24(%rbp), %eax
	testl	%eax, %eax
	jne	.L19
	movl	$1, -60(%rbp)
.L19:
	addl	$1, -52(%rbp)
.L17:
	cmpl	$2, -52(%rbp)
	jle	.L26
	addl	$1, -56(%rbp)
.L16:
	cmpl	$2, -56(%rbp)
	jle	.L27
	cmpl	$1, -60(%rbp)
	jne	.L28
	leaq	.LC1(%rip), %rax
	jmp	.L29
.L28:
	leaq	.LC2(%rip), %rax
.L29:
	movq	%rax, %rsi
	leaq	.LC3(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	$0, %eax
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L31
	call	__stack_chk_fail@PLT
.L31:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.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:
