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 <inttypes.h>

int64_t zettaiti(int64_t x) {
	return x < 0 ? -x : x;
}

/* x以下の最大を求める(ない場合は最小) */
int asumisu(const int64_t data[], int n, int64_t x) {
	int yes = 0, no = n - 1;
	if (data[yes] > x) return 0;
	if (data[no] <= x) return no;
	while (yes + 1 < no) {
		int mid = yes + (no - yes) / 2;
		if (data[mid] <= x) yes = mid; else no = mid;
	}
	return yes;
}

/* x以上の最小を求める(ない場合は最大) */
int mizuhasu(const int64_t data[], int n, int64_t x) {
	int no = 0, yes = n - 1;
	if (data[yes] < x) return n - 1;
	if (data[no] >= x) return no;
	while (no + 1 < yes) {
		int mid = no + (yes - no) / 2;
		if (data[mid] >= x) yes = mid; else no = mid;
	}
	return yes;
}

int A, B;
int Q;
int64_t s[114514];
int64_t t[114514];
int64_t x[114514];

int main(void) {
	int i;
	if (scanf("%d%d%d", &A, &B, &Q) != 3) return 1;
	for (i = 0; i < A; i++) {
		if (scanf("%" SCNd64, &s[i]) != 1) return 1;
	}
	for (i = 0; i < B; i++) {
		if (scanf("%" SCNd64, &t[i]) != 1) return 1;
	}
	for (i = 0; i < Q; i++) {
		if (scanf("%" SCNd64, &x[i]) != 1) return 1;
	}

	for (i = 0; i < Q; i++) {
		int64_t gourikiayame = INT64_C(99999999999999999);
		int64_t zinzya[2], tera[2];
		int j, k;
		zinzya[0] = s[asumisu(s, A, x[i])];
		zinzya[1] = s[mizuhasu(s, A, x[i])];
		tera[0] = t[asumisu(t, B, x[i])];
		tera[1] = t[mizuhasu(t, B, x[i])];
		for (j = 0; j < 2; j++) {
			for (k = 0; k < 2; k++) {
				int64_t sumipe;
				sumipe = zettaiti(zinzya[j] - x[i]) + zettaiti(tera[k] - zinzya[j]);
				if (sumipe < gourikiayame) gourikiayame = sumipe;
				sumipe = zettaiti(tera[k] - x[i]) + zettaiti(zinzya[j] - tera[k]);
				if (sumipe < gourikiayame) gourikiayame = sumipe;
			}
		}
		printf("%" PRId64 "\n", gourikiayame);
	}
	return 0;
}
```

Unoptimized Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.globl	zettaiti
	.type	zettaiti, @function
zettaiti:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movq	%rdi, -8(%rbp)
	movq	-8(%rbp), %rax
	movq	%rax, %rdx
	negq	%rdx
	cmovns	%rdx, %rax
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	zettaiti, .-zettaiti
	.globl	asumisu
	.type	asumisu, @function
asumisu:
.LFB1:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movq	%rdi, -24(%rbp)
	movl	%esi, -28(%rbp)
	movq	%rdx, -40(%rbp)
	movl	$0, -12(%rbp)
	movl	-28(%rbp), %eax
	subl	$1, %eax
	movl	%eax, -8(%rbp)
	movl	-12(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	movq	-24(%rbp), %rax
	addq	%rdx, %rax
	movq	(%rax), %rax
	cmpq	%rax, -40(%rbp)
	jge	.L4
	movl	$0, %eax
	jmp	.L5
.L4:
	movl	-8(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	movq	-24(%rbp), %rax
	addq	%rdx, %rax
	movq	(%rax), %rax
	cmpq	%rax, -40(%rbp)
	jl	.L7
	movl	-8(%rbp), %eax
	jmp	.L5
.L9:
	movl	-8(%rbp), %eax
	subl	-12(%rbp), %eax
	movl	%eax, %edx
	shrl	$31, %edx
	addl	%edx, %eax
	sarl	%eax
	movl	%eax, %edx
	movl	-12(%rbp), %eax
	addl	%edx, %eax
	movl	%eax, -4(%rbp)
	movl	-4(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	movq	-24(%rbp), %rax
	addq	%rdx, %rax
	movq	(%rax), %rax
	cmpq	%rax, -40(%rbp)
	jl	.L8
	movl	-4(%rbp), %eax
	movl	%eax, -12(%rbp)
	jmp	.L7
.L8:
	movl	-4(%rbp), %eax
	movl	%eax, -8(%rbp)
.L7:
	movl	-12(%rbp), %eax
	addl	$1, %eax
	cmpl	%eax, -8(%rbp)
	jg	.L9
	movl	-12(%rbp), %eax
.L5:
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	asumisu, .-asumisu
	.globl	mizuhasu
	.type	mizuhasu, @function
mizuhasu:
.LFB2:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movq	%rdi, -24(%rbp)
	movl	%esi, -28(%rbp)
	movq	%rdx, -40(%rbp)
	movl	$0, -12(%rbp)
	movl	-28(%rbp), %eax
	subl	$1, %eax
	movl	%eax, -8(%rbp)
	movl	-8(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	movq	-24(%rbp), %rax
	addq	%rdx, %rax
	movq	(%rax), %rax
	cmpq	%rax, -40(%rbp)
	jle	.L11
	movl	-28(%rbp), %eax
	subl	$1, %eax
	jmp	.L12
.L11:
	movl	-12(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	movq	-24(%rbp), %rax
	addq	%rdx, %rax
	movq	(%rax), %rax
	cmpq	%rax, -40(%rbp)
	jg	.L14
	movl	-12(%rbp), %eax
	jmp	.L12
.L16:
	movl	-8(%rbp), %eax
	subl	-12(%rbp), %eax
	movl	%eax, %edx
	shrl	$31, %edx
	addl	%edx, %eax
	sarl	%eax
	movl	%eax, %edx
	movl	-12(%rbp), %eax
	addl	%edx, %eax
	movl	%eax, -4(%rbp)
	movl	-4(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	movq	-24(%rbp), %rax
	addq	%rdx, %rax
	movq	(%rax), %rax
	cmpq	%rax, -40(%rbp)
	jg	.L15
	movl	-4(%rbp), %eax
	movl	%eax, -8(%rbp)
	jmp	.L14
.L15:
	movl	-4(%rbp), %eax
	movl	%eax, -12(%rbp)
.L14:
	movl	-12(%rbp), %eax
	addl	$1, %eax
	cmpl	%eax, -8(%rbp)
	jg	.L16
	movl	-8(%rbp), %eax
.L12:
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	mizuhasu, .-mizuhasu
	.globl	A
	.bss
	.align 4
	.type	A, @object
	.size	A, 4
A:
	.zero	4
	.globl	B
	.align 4
	.type	B, @object
	.size	B, 4
B:
	.zero	4
	.globl	Q
	.align 4
	.type	Q, @object
	.size	Q, 4
Q:
	.zero	4
	.globl	s
	.align 32
	.type	s, @object
	.size	s, 916112
s:
	.zero	916112
	.globl	t
	.align 32
	.type	t, @object
	.size	t, 916112
t:
	.zero	916112
	.globl	x
	.align 32
	.type	x, @object
	.size	x, 916112
x:
	.zero	916112
	.section	.rodata
.LC0:
	.string	"%d%d%d"
.LC1:
	.string	"%ld"
.LC2:
	.string	"%ld\n"
	.text
	.globl	main
	.type	main, @function
main:
.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	$88, %rsp
	.cfi_offset 3, -24
	movq	%fs:40, %rax
	movq	%rax, -24(%rbp)
	xorl	%eax, %eax
	leaq	Q(%rip), %rax
	movq	%rax, %rcx
	leaq	B(%rip), %rax
	movq	%rax, %rdx
	leaq	A(%rip), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	cmpl	$3, %eax
	je	.L18
	movl	$1, %eax
	jmp	.L19
.L18:
	movl	$0, -92(%rbp)
	jmp	.L20
.L22:
	movl	-92(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	leaq	s(%rip), %rax
	addq	%rdx, %rax
	movq	%rax, %rsi
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	cmpl	$1, %eax
	je	.L21
	movl	$1, %eax
	jmp	.L19
.L21:
	addl	$1, -92(%rbp)
.L20:
	movl	A(%rip), %eax
	cmpl	%eax, -92(%rbp)
	jl	.L22
	movl	$0, -92(%rbp)
	jmp	.L23
.L25:
	movl	-92(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	leaq	t(%rip), %rax
	addq	%rdx, %rax
	movq	%rax, %rsi
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	cmpl	$1, %eax
	je	.L24
	movl	$1, %eax
	jmp	.L19
.L24:
	addl	$1, -92(%rbp)
.L23:
	movl	B(%rip), %eax
	cmpl	%eax, -92(%rbp)
	jl	.L25
	movl	$0, -92(%rbp)
	jmp	.L26
.L28:
	movl	-92(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	leaq	x(%rip), %rax
	addq	%rdx, %rax
	movq	%rax, %rsi
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	cmpl	$1, %eax
	je	.L27
	movl	$1, %eax
	jmp	.L19
.L27:
	addl	$1, -92(%rbp)
.L26:
	movl	Q(%rip), %eax
	cmpl	%eax, -92(%rbp)
	jl	.L28
	movl	$0, -92(%rbp)
	jmp	.L29
.L36:
	movabsq	$99999999999999999, %rax
	movq	%rax, -80(%rbp)
	movl	-92(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	leaq	x(%rip), %rax
	movq	(%rdx,%rax), %rdx
	movl	A(%rip), %eax
	movl	%eax, %esi
	leaq	s(%rip), %rax
	movq	%rax, %rdi
	call	asumisu
	cltq
	leaq	0(,%rax,8), %rdx
	leaq	s(%rip), %rax
	movq	(%rdx,%rax), %rax
	movq	%rax, -64(%rbp)
	movl	-92(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	leaq	x(%rip), %rax
	movq	(%rdx,%rax), %rdx
	movl	A(%rip), %eax
	movl	%eax, %esi
	leaq	s(%rip), %rax
	movq	%rax, %rdi
	call	mizuhasu
	cltq
	leaq	0(,%rax,8), %rdx
	leaq	s(%rip), %rax
	movq	(%rdx,%rax), %rax
	movq	%rax, -56(%rbp)
	movl	-92(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	leaq	x(%rip), %rax
	movq	(%rdx,%rax), %rdx
	movl	B(%rip), %eax
	movl	%eax, %esi
	leaq	t(%rip), %rax
	movq	%rax, %rdi
	call	asumisu
	cltq
	leaq	0(,%rax,8), %rdx
	leaq	t(%rip), %rax
	movq	(%rdx,%rax), %rax
	movq	%rax, -48(%rbp)
	movl	-92(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	leaq	x(%rip), %rax
	movq	(%rdx,%rax), %rdx
	movl	B(%rip), %eax
	movl	%eax, %esi
	leaq	t(%rip), %rax
	movq	%rax, %rdi
	call	mizuhasu
	cltq
	leaq	0(,%rax,8), %rdx
	leaq	t(%rip), %rax
	movq	(%rdx,%rax), %rax
	movq	%rax, -40(%rbp)
	movl	$0, -88(%rbp)
	jmp	.L30
.L35:
	movl	$0, -84(%rbp)
	jmp	.L31
.L34:
	movl	-88(%rbp), %eax
	cltq
	movq	-64(%rbp,%rax,8), %rax
	movl	-92(%rbp), %edx
	movslq	%edx, %rdx
	leaq	0(,%rdx,8), %rcx
	leaq	x(%rip), %rdx
	movq	(%rcx,%rdx), %rdx
	subq	%rdx, %rax
	movq	%rax, %rdi
	call	zettaiti
	movq	%rax, %rbx
	movl	-84(%rbp), %eax
	cltq
	movq	-48(%rbp,%rax,8), %rdx
	movl	-88(%rbp), %eax
	cltq
	movq	-64(%rbp,%rax,8), %rcx
	movq	%rdx, %rax
	subq	%rcx, %rax
	movq	%rax, %rdi
	call	zettaiti
	addq	%rbx, %rax
	movq	%rax, -72(%rbp)
	movq	-72(%rbp), %rax
	cmpq	-80(%rbp), %rax
	jge	.L32
	movq	-72(%rbp), %rax
	movq	%rax, -80(%rbp)
.L32:
	movl	-84(%rbp), %eax
	cltq
	movq	-48(%rbp,%rax,8), %rax
	movl	-92(%rbp), %edx
	movslq	%edx, %rdx
	leaq	0(,%rdx,8), %rcx
	leaq	x(%rip), %rdx
	movq	(%rcx,%rdx), %rdx
	subq	%rdx, %rax
	movq	%rax, %rdi
	call	zettaiti
	movq	%rax, %rbx
	movl	-88(%rbp), %eax
	cltq
	movq	-64(%rbp,%rax,8), %rdx
	movl	-84(%rbp), %eax
	cltq
	movq	-48(%rbp,%rax,8), %rcx
	movq	%rdx, %rax
	subq	%rcx, %rax
	movq	%rax, %rdi
	call	zettaiti
	addq	%rbx, %rax
	movq	%rax, -72(%rbp)
	movq	-72(%rbp), %rax
	cmpq	-80(%rbp), %rax
	jge	.L33
	movq	-72(%rbp), %rax
	movq	%rax, -80(%rbp)
.L33:
	addl	$1, -84(%rbp)
.L31:
	cmpl	$1, -84(%rbp)
	jle	.L34
	addl	$1, -88(%rbp)
.L30:
	cmpl	$1, -88(%rbp)
	jle	.L35
	movq	-80(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC2(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	addl	$1, -92(%rbp)
.L29:
	movl	Q(%rip), %eax
	cmpl	%eax, -92(%rbp)
	jl	.L36
	movl	$0, %eax
.L19:
	movq	-24(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L37
	call	__stack_chk_fail@PLT
.L37:
	movq	-8(%rbp), %rbx
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.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	zettaiti
	.type	zettaiti, @function
zettaiti:
.LFB23:
	.cfi_startproc
	endbr64
	movq	%rdi, %rax
	negq	%rax
	cmovs	%rdi, %rax
	ret
	.cfi_endproc
.LFE23:
	.size	zettaiti, .-zettaiti
	.p2align 4
	.globl	asumisu
	.type	asumisu, @function
asumisu:
.LFB24:
	.cfi_startproc
	endbr64
	movq	%rdi, %r9
	xorl	%r8d, %r8d
	cmpq	%rdx, (%rdi)
	jg	.L3
	subl	$1, %esi
	movslq	%esi, %rax
	movl	%esi, %r8d
	cmpq	%rdx, (%rdi,%rax,8)
	jle	.L3
	xorl	%r8d, %r8d
	movl	$1, %edi
	jmp	.L6
	.p2align 4,,10
	.p2align 3
.L7:
	movl	%esi, %ecx
	subl	%r8d, %ecx
	movl	%ecx, %eax
	shrl	$31, %eax
	addl	%ecx, %eax
	sarl	%eax
	addl	%r8d, %eax
	movslq	%eax, %rcx
	cmpq	%rdx, (%r9,%rcx,8)
	jg	.L11
	movl	%eax, %r8d
	leal	1(%rax), %edi
.L6:
	cmpl	%esi, %edi
	jl	.L7
.L3:
	movl	%r8d, %eax
	ret
	.p2align 4,,10
	.p2align 3
.L11:
	movl	%eax, %esi
	jmp	.L6
	.cfi_endproc
.LFE24:
	.size	asumisu, .-asumisu
	.p2align 4
	.globl	mizuhasu
	.type	mizuhasu, @function
mizuhasu:
.LFB25:
	.cfi_startproc
	endbr64
	leal	-1(%rsi), %r8d
	movslq	%r8d, %rax
	cmpq	%rdx, (%rdi,%rax,8)
	jl	.L12
	xorl	%esi, %esi
	cmpq	%rdx, (%rdi)
	jge	.L19
.L14:
	leal	1(%rsi), %r9d
	jmp	.L15
	.p2align 4,,10
	.p2align 3
.L16:
	movl	%r8d, %ecx
	subl	%esi, %ecx
	movl	%ecx, %eax
	shrl	$31, %eax
	addl	%ecx, %eax
	sarl	%eax
	addl	%esi, %eax
	movslq	%eax, %rcx
	cmpq	%rdx, (%rdi,%rcx,8)
	jl	.L20
	movl	%eax, %r8d
.L15:
	cmpl	%r8d, %r9d
	jl	.L16
.L12:
	movl	%r8d, %eax
	ret
	.p2align 4,,10
	.p2align 3
.L19:
	xorl	%r8d, %r8d
	movl	%r8d, %eax
	ret
	.p2align 4,,10
	.p2align 3
.L20:
	movl	%eax, %esi
	jmp	.L14
	.cfi_endproc
.LFE25:
	.size	mizuhasu, .-mizuhasu
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"%d%d%d"
.LC1:
	.string	"%ld"
.LC2:
	.string	"%ld\n"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB26:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	xorl	%eax, %eax
	leaq	Q(%rip), %rcx
	leaq	B(%rip), %rdx
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	leaq	A(%rip), %rsi
	leaq	.LC0(%rip), %rdi
	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	$8, %rsp
	.cfi_def_cfa_offset 64
	call	__isoc99_scanf@PLT
	cmpl	$3, %eax
	jne	.L25
	cmpl	$0, A(%rip)
	jle	.L24
	leaq	s(%rip), %rbx
	xorl	%ebp, %ebp
	leaq	.LC1(%rip), %r12
	jmp	.L26
	.p2align 4,,10
	.p2align 3
.L38:
	addl	$1, %ebp
	addq	$8, %rbx
	cmpl	%ebp, A(%rip)
	jle	.L24
.L26:
	xorl	%eax, %eax
	movq	%rbx, %rsi
	movq	%r12, %rdi
	call	__isoc99_scanf@PLT
	cmpl	$1, %eax
	je	.L38
.L25:
	movl	$1, %eax
.L21:
	addq	$8, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
.L24:
	.cfi_restore_state
	cmpl	$0, B(%rip)
	jle	.L27
	leaq	t(%rip), %rbx
	xorl	%ebp, %ebp
	leaq	.LC1(%rip), %r12
	jmp	.L28
	.p2align 4,,10
	.p2align 3
.L39:
	addl	$1, %ebp
	addq	$8, %rbx
	cmpl	%ebp, B(%rip)
	jle	.L27
.L28:
	xorl	%eax, %eax
	movq	%rbx, %rsi
	movq	%r12, %rdi
	call	__isoc99_scanf@PLT
	cmpl	$1, %eax
	je	.L39
	jmp	.L25
.L27:
	xorl	%ebp, %ebp
	cmpl	$0, Q(%rip)
	leaq	x(%rip), %rbx
	leaq	.LC1(%rip), %r12
	jg	.L30
	jmp	.L33
	.p2align 4,,10
	.p2align 3
.L41:
	addl	$1, %ebp
	addq	$8, %rbx
	cmpl	%ebp, Q(%rip)
	jle	.L40
.L30:
	xorl	%eax, %eax
	movq	%rbx, %rsi
	movq	%r12, %rdi
	call	__isoc99_scanf@PLT
	cmpl	$1, %eax
	je	.L41
	jmp	.L25
.L40:
	xorl	%r14d, %r14d
	leaq	s(%rip), %rbp
	leaq	t(%rip), %rbx
	leaq	.LC2(%rip), %r12
	jmp	.L31
.L32:
	movl	A(%rip), %r10d
	leaq	x(%rip), %rax
	movq	%rbp, %rdi
	movq	(%rax,%r14,8), %rdx
	movl	%r10d, %esi
	call	asumisu
	movl	%r10d, %esi
	movq	%rbp, %rdi
	cltq
	movq	0(%rbp,%rax,8), %r13
	call	mizuhasu
	movl	B(%rip), %r15d
	movq	%rbx, %rdi
	cltq
	movl	%r15d, %esi
	movq	0(%rbp,%rax,8), %r10
	call	asumisu
	movl	%r15d, %esi
	movq	%rbx, %rdi
	movq	%r13, %r15
	cltq
	movq	(%rbx,%rax,8), %r11
	call	mizuhasu
	movq	%r13, %rcx
	movq	%r10, %r8
	subq	%rdx, %rcx
	cltq
	movq	%rcx, %r9
	movq	(%rbx,%rax,8), %rax
	negq	%r9
	cmovs	%rcx, %r9
	movq	%r11, %rcx
	movq	%rax, %rsi
	subq	%rdx, %rcx
	movq	%rcx, %rdi
	negq	%rdi
	cmovs	%rcx, %rdi
	subq	%rdx, %rsi
	movq	%rsi, %rcx
	negq	%rcx
	cmovs	%rsi, %rcx
	subq	%rdx, %r8
	movq	%r8, %rsi
	negq	%rsi
	cmovs	%r8, %rsi
	movq	%r11, %r8
	subq	%r13, %r8
	movq	%r8, %rdx
	negq	%rdx
	cmovs	%r8, %rdx
	subq	%r11, %r15
	movq	%r15, %r8
	addq	%r9, %rdx
	negq	%r8
	cmovs	%r15, %r8
	movq	%rax, %r15
	addq	%rdi, %r8
	cmpq	%r8, %rdx
	cmovg	%r8, %rdx
	movabsq	$99999999999999999, %r8
	cmpq	%r8, %rdx
	cmovg	%r8, %rdx
	subq	%r13, %r15
	movq	%r15, %r8
	negq	%r8
	cmovs	%r15, %r8
	addq	%r9, %r8
	movq	%r11, %r9
	cmpq	%r8, %rdx
	cmovg	%r8, %rdx
	subq	%rax, %r13
	movq	%r13, %r8
	negq	%r8
	cmovs	%r13, %r8
	addq	%rcx, %r8
	cmpq	%r8, %rdx
	cmovg	%r8, %rdx
	subq	%r10, %r9
	movq	%r9, %r8
	negq	%r8
	cmovs	%r9, %r8
	movq	%r10, %r9
	addq	%rsi, %r8
	cmpq	%r8, %rdx
	cmovg	%r8, %rdx
	subq	%r11, %r9
	movq	%r9, %r8
	negq	%r8
	cmovs	%r9, %r8
	addq	%r8, %rdi
	movq	%rax, %r8
	cmpq	%rdi, %rdx
	cmovg	%rdi, %rdx
	subq	%r10, %r8
	movq	%r8, %rdi
	negq	%rdi
	cmovs	%r8, %rdi
	addq	%rdi, %rsi
	movl	$1, %edi
	cmpq	%rsi, %rdx
	cmovg	%rsi, %rdx
	subq	%rax, %r10
	movq	%r12, %rsi
	movq	%r10, %rax
	negq	%rax
	cmovs	%r10, %rax
	addq	%rcx, %rax
	cmpq	%rax, %rdx
	cmovg	%rax, %rdx
	xorl	%eax, %eax
	addq	$1, %r14
	call	__printf_chk@PLT
.L31:
	cmpl	%r14d, Q(%rip)
	jg	.L32
.L33:
	xorl	%eax, %eax
	jmp	.L21
	.cfi_endproc
.LFE26:
	.size	main, .-main
	.globl	x
	.bss
	.align 32
	.type	x, @object
	.size	x, 916112
x:
	.zero	916112
	.globl	t
	.align 32
	.type	t, @object
	.size	t, 916112
t:
	.zero	916112
	.globl	s
	.align 32
	.type	s, @object
	.size	s, 916112
s:
	.zero	916112
	.globl	Q
	.align 4
	.type	Q, @object
	.size	Q, 4
Q:
	.zero	4
	.globl	B
	.align 4
	.type	B, @object
	.size	B, 4
B:
	.zero	4
	.globl	A
	.align 4
	.type	A, @object
	.size	A, 4
A:
	.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	zettaiti
	.type	zettaiti, @function
zettaiti:
.LFB23:
	.cfi_startproc
	endbr64
	movq	%rdi, %rax
	negq	%rax
	cmovs	%rdi, %rax
	ret
	.cfi_endproc
.LFE23:
	.size	zettaiti, .-zettaiti
	.p2align 4
	.globl	asumisu
	.type	asumisu, @function
asumisu:
.LFB24:
	.cfi_startproc
	endbr64
	movq	%rdi, %r9
	xorl	%r8d, %r8d
	cmpq	%rdx, (%rdi)
	jg	.L3
	subl	$1, %esi
	movslq	%esi, %rax
	movl	%esi, %r8d
	cmpq	%rdx, (%rdi,%rax,8)
	jle	.L3
	xorl	%r8d, %r8d
	movl	$1, %edi
	jmp	.L6
	.p2align 4,,10
	.p2align 3
.L7:
	movl	%esi, %ecx
	subl	%r8d, %ecx
	movl	%ecx, %eax
	shrl	$31, %eax
	addl	%ecx, %eax
	sarl	%eax
	addl	%r8d, %eax
	movslq	%eax, %rcx
	cmpq	%rdx, (%r9,%rcx,8)
	jg	.L11
	movl	%eax, %r8d
	leal	1(%rax), %edi
.L6:
	cmpl	%esi, %edi
	jl	.L7
.L3:
	movl	%r8d, %eax
	ret
	.p2align 4,,10
	.p2align 3
.L11:
	movl	%eax, %esi
	jmp	.L6
	.cfi_endproc
.LFE24:
	.size	asumisu, .-asumisu
	.p2align 4
	.globl	mizuhasu
	.type	mizuhasu, @function
mizuhasu:
.LFB25:
	.cfi_startproc
	endbr64
	leal	-1(%rsi), %r8d
	movslq	%r8d, %rax
	cmpq	%rdx, (%rdi,%rax,8)
	jl	.L12
	xorl	%esi, %esi
	cmpq	%rdx, (%rdi)
	jge	.L19
.L14:
	leal	1(%rsi), %r9d
	jmp	.L15
	.p2align 4,,10
	.p2align 3
.L16:
	movl	%r8d, %ecx
	subl	%esi, %ecx
	movl	%ecx, %eax
	shrl	$31, %eax
	addl	%ecx, %eax
	sarl	%eax
	addl	%esi, %eax
	movslq	%eax, %rcx
	cmpq	%rdx, (%rdi,%rcx,8)
	jl	.L20
	movl	%eax, %r8d
.L15:
	cmpl	%r8d, %r9d
	jl	.L16
.L12:
	movl	%r8d, %eax
	ret
	.p2align 4,,10
	.p2align 3
.L19:
	xorl	%r8d, %r8d
	movl	%r8d, %eax
	ret
	.p2align 4,,10
	.p2align 3
.L20:
	movl	%eax, %esi
	jmp	.L14
	.cfi_endproc
.LFE25:
	.size	mizuhasu, .-mizuhasu
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"%d%d%d"
.LC1:
	.string	"%ld"
.LC2:
	.string	"%ld\n"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB26:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	xorl	%eax, %eax
	leaq	Q(%rip), %rcx
	leaq	B(%rip), %rdx
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	leaq	A(%rip), %rsi
	leaq	.LC0(%rip), %rdi
	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	$8, %rsp
	.cfi_def_cfa_offset 64
	call	__isoc99_scanf@PLT
	cmpl	$3, %eax
	jne	.L25
	cmpl	$0, A(%rip)
	jle	.L24
	leaq	s(%rip), %rbx
	xorl	%ebp, %ebp
	leaq	.LC1(%rip), %r12
	jmp	.L26
	.p2align 4,,10
	.p2align 3
.L38:
	addl	$1, %ebp
	addq	$8, %rbx
	cmpl	%ebp, A(%rip)
	jle	.L24
.L26:
	xorl	%eax, %eax
	movq	%rbx, %rsi
	movq	%r12, %rdi
	call	__isoc99_scanf@PLT
	cmpl	$1, %eax
	je	.L38
.L25:
	movl	$1, %eax
.L21:
	addq	$8, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
.L24:
	.cfi_restore_state
	cmpl	$0, B(%rip)
	jle	.L27
	leaq	t(%rip), %rbx
	xorl	%ebp, %ebp
	leaq	.LC1(%rip), %r12
	jmp	.L28
	.p2align 4,,10
	.p2align 3
.L39:
	addl	$1, %ebp
	addq	$8, %rbx
	cmpl	%ebp, B(%rip)
	jle	.L27
.L28:
	xorl	%eax, %eax
	movq	%rbx, %rsi
	movq	%r12, %rdi
	call	__isoc99_scanf@PLT
	cmpl	$1, %eax
	je	.L39
	jmp	.L25
.L27:
	xorl	%ebp, %ebp
	cmpl	$0, Q(%rip)
	leaq	x(%rip), %rbx
	leaq	.LC1(%rip), %r12
	jg	.L30
	jmp	.L33
	.p2align 4,,10
	.p2align 3
.L41:
	addl	$1, %ebp
	addq	$8, %rbx
	cmpl	%ebp, Q(%rip)
	jle	.L40
.L30:
	xorl	%eax, %eax
	movq	%rbx, %rsi
	movq	%r12, %rdi
	call	__isoc99_scanf@PLT
	cmpl	$1, %eax
	je	.L41
	jmp	.L25
.L40:
	xorl	%r14d, %r14d
	leaq	s(%rip), %rbp
	leaq	t(%rip), %rbx
	leaq	.LC2(%rip), %r12
	jmp	.L31
.L32:
	movl	A(%rip), %r10d
	leaq	x(%rip), %rax
	movq	%rbp, %rdi
	movq	(%rax,%r14,8), %rdx
	movl	%r10d, %esi
	call	asumisu
	movl	%r10d, %esi
	movq	%rbp, %rdi
	cltq
	movq	0(%rbp,%rax,8), %r13
	call	mizuhasu
	movl	B(%rip), %r15d
	movq	%rbx, %rdi
	cltq
	movl	%r15d, %esi
	movq	0(%rbp,%rax,8), %r10
	call	asumisu
	movl	%r15d, %esi
	movq	%rbx, %rdi
	movq	%r13, %r15
	cltq
	movq	(%rbx,%rax,8), %r11
	call	mizuhasu
	movq	%r13, %rcx
	movq	%r10, %r8
	subq	%rdx, %rcx
	cltq
	movq	%rcx, %r9
	movq	(%rbx,%rax,8), %rax
	negq	%r9
	cmovs	%rcx, %r9
	movq	%r11, %rcx
	movq	%rax, %rsi
	subq	%rdx, %rcx
	movq	%rcx, %rdi
	negq	%rdi
	cmovs	%rcx, %rdi
	subq	%rdx, %rsi
	movq	%rsi, %rcx
	negq	%rcx
	cmovs	%rsi, %rcx
	subq	%rdx, %r8
	movq	%r8, %rsi
	negq	%rsi
	cmovs	%r8, %rsi
	movq	%r11, %r8
	subq	%r13, %r8
	movq	%r8, %rdx
	negq	%rdx
	cmovs	%r8, %rdx
	subq	%r11, %r15
	movq	%r15, %r8
	addq	%r9, %rdx
	negq	%r8
	cmovs	%r15, %r8
	movq	%rax, %r15
	addq	%rdi, %r8
	cmpq	%r8, %rdx
	cmovg	%r8, %rdx
	movabsq	$99999999999999999, %r8
	cmpq	%r8, %rdx
	cmovg	%r8, %rdx
	subq	%r13, %r15
	movq	%r15, %r8
	negq	%r8
	cmovs	%r15, %r8
	addq	%r9, %r8
	movq	%r11, %r9
	cmpq	%r8, %rdx
	cmovg	%r8, %rdx
	subq	%rax, %r13
	movq	%r13, %r8
	negq	%r8
	cmovs	%r13, %r8
	addq	%rcx, %r8
	cmpq	%r8, %rdx
	cmovg	%r8, %rdx
	subq	%r10, %r9
	movq	%r9, %r8
	negq	%r8
	cmovs	%r9, %r8
	movq	%r10, %r9
	addq	%rsi, %r8
	cmpq	%r8, %rdx
	cmovg	%r8, %rdx
	subq	%r11, %r9
	movq	%r9, %r8
	negq	%r8
	cmovs	%r9, %r8
	addq	%r8, %rdi
	movq	%rax, %r8
	cmpq	%rdi, %rdx
	cmovg	%rdi, %rdx
	subq	%r10, %r8
	movq	%r8, %rdi
	negq	%rdi
	cmovs	%r8, %rdi
	addq	%rdi, %rsi
	movl	$1, %edi
	cmpq	%rsi, %rdx
	cmovg	%rsi, %rdx
	subq	%rax, %r10
	movq	%r12, %rsi
	movq	%r10, %rax
	negq	%rax
	cmovs	%r10, %rax
	addq	%rcx, %rax
	cmpq	%rax, %rdx
	cmovg	%rax, %rdx
	xorl	%eax, %eax
	addq	$1, %r14
	call	__printf_chk@PLT
.L31:
	cmpl	%r14d, Q(%rip)
	jg	.L32
.L33:
	xorl	%eax, %eax
	jmp	.L21
	.cfi_endproc
.LFE26:
	.size	main, .-main
	.globl	x
	.bss
	.align 32
	.type	x, @object
	.size	x, 916112
x:
	.zero	916112
	.globl	t
	.align 32
	.type	t, @object
	.size	t, 916112
t:
	.zero	916112
	.globl	s
	.align 32
	.type	s, @object
	.size	s, 916112
s:
	.zero	916112
	.globl	Q
	.align 4
	.type	Q, @object
	.size	Q, 4
Q:
	.zero	4
	.globl	B
	.align 4
	.type	B, @object
	.size	B, 4
B:
	.zero	4
	.globl	A
	.align 4
	.type	A, @object
	.size	A, 4
A:
	.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:

#include <stdio.h>
#include <inttypes.h>

int64_t zettaiti(int64_t x) {
	return x < 0 ? -x : x;
}

/* x以下の最大を求める(ない場合は最小) */
int asumisu(const int64_t data[], int n, int64_t x) {
	int yes = 0, no = n - 1;
	if (data[yes] > x) return 0;
	if (data[no] <= x) return no;
	while (yes + 1 < no) {
		int mid = yes + (no - yes) / 2;
		if (data[mid] <= x) yes = mid; else no = mid;
	}
	return yes;
}

/* x以上の最小を求める(ない場合は最大) */
int mizuhasu(const int64_t data[], int n, int64_t x) {
	int no = 0, yes = n - 1;
	if (data[yes] < x) return n - 1;
	if (data[no] >= x) return no;
	while (no + 1 < yes) {
		int mid = no + (yes - no) / 2;
		if (data[mid] >= x) yes = mid; else no = mid;
	}
	return yes;
}

int A, B;
int Q;
int64_t s[114514];
int64_t t[114514];
int64_t x[114514];

int main(void) {
	int i;
	if (scanf("%d%d%d", &A, &B, &Q) != 3) return 1;
	for (i = 0; i < A; i++) {
		if (scanf("%" SCNd64, &s[i]) != 1) return 1;
	}
	for (i = 0; i < B; i++) {
		if (scanf("%" SCNd64, &t[i]) != 1) return 1;
	}
	for (i = 0; i < Q; i++) {
		if (scanf("%" SCNd64, &x[i]) != 1) return 1;
	}

	for (i = 0; i < Q; i++) {
		int64_t gourikiayame = INT64_C(99999999999999999);
		int64_t zinzya[2], tera[2];
		int j, k;
		zinzya[0] = s[asumisu(s, A, x[i])];
		zinzya[1] = s[mizuhasu(s, A, x[i])];
		tera[0] = t[asumisu(t, B, x[i])];
		tera[1] = t[mizuhasu(t, B, x[i])];
		for (j = 0; j < 2; j++) {
			for (k = 0; k < 2; k++) {
				int64_t sumipe;
				sumipe = zettaiti(zinzya[j] - x[i]) + zettaiti(tera[k] - zinzya[j]);
				if (sumipe < gourikiayame) gourikiayame = sumipe;
				sumipe = zettaiti(tera[k] - x[i]) + zettaiti(zinzya[j] - tera[k]);
				if (sumipe < gourikiayame) gourikiayame = sumipe;
			}
		}
		printf("%" PRId64 "\n", gourikiayame);
	}
	return 0;
}

2 3 4
110
600
400
900
1000
150
2000
899
799
 2 3 4
110
608
400
900
1000
150
2000
899
799
 2 3 4
110
608
400
900
1000
150
2000
899
1571
 2 3 4
110
608
400
900
1000
155
2000
899
1571
 2 3 4
110
608
400
900
1000
155
2000
1530
1571
 1 1 3
1
10000100000
2
9999999999
5000000000
 2 3 4
110
600
400
900
1000
278
2000
899
799
 2 3 3
110
608
400
900
1000
150
2000
899
799
 2 3 4
110
608
525
900
1000
150
2000
899
1571
 2 3 4
110
608
400
900
1000
155
2000
899
1602

330
1400
301
399
 330
1392
293
393
 330
1392
293
963
 335
1392
293
963
 335
1392
922
963
 10000100000
10000200000
15000099998
 322
1400
301
399
 330
1392
293
 455
1392
293
963
 335
1392
293
994

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 <inttypes.h>

int64_t zettaiti(int64_t x) {
	return x < 0 ? -x : x;
}

/* x以下の最大を求める(ない場合は最小) */
int asumisu(const int64_t data[], int n, int64_t x) {
	int yes = 0, no = n - 1;
	if (data[yes] > x) return 0;
	if (data[no] <= x) return no;
	while (yes + 1 < no) {
		int mid = yes + (no - yes) / 2;
		if (data[mid] <= x) yes = mid; else no = mid;
	}
	return yes;
}

/* x以上の最小を求める(ない場合は最大) */
int mizuhasu(const int64_t data[], int n, int64_t x) {
	int no = 0, yes = n - 1;
	if (data[yes] < x) return n - 1;
	if (data[no] >= x) return no;
	while (no + 1 < yes) {
		int mid = no + (yes - no) / 2;
		if (data[mid] >= x) yes = mid; else no = mid;
	}
	return yes;
}

int A, B;
int Q;
int64_t s[114514];
int64_t t[114514];
int64_t x[114514];

int main(void) {
	int i;
	if (scanf("%d%d%d", &A, &B, &Q) != 3) return 1;
	for (i = 0; i < A; i++) {
		if (scanf("%" SCNd64, &s[i]) != 1) return 1;
	}
	for (i = 0; i < B; i++) {
		if (scanf("%" SCNd64, &t[i]) != 1) return 1;
	}
	for (i = 0; i < Q; i++) {
		if (scanf("%" SCNd64, &x[i]) != 1) return 1;
	}

	for (i = 0; i < Q; i++) {
		int64_t gourikiayame = INT64_C(99999999999999999);
		int64_t zinzya[2], tera[2];
		int j, k;
		zinzya[0] = s[asumisu(s, A, x[i])];
		zinzya[1] = s[mizuhasu(s, A, x[i])];
		tera[0] = t[asumisu(t, B, x[i])];
		tera[1] = t[mizuhasu(t, B, x[i])];
		for (j = 0; j < 2; j++) {
			for (k = 0; k < 2; k++) {
				int64_t sumipe;
				sumipe = zettaiti(zinzya[j] - x[i]) + zettaiti(tera[k] - zinzya[j]);
				if (sumipe < gourikiayame) gourikiayame = sumipe;
				sumipe = zettaiti(tera[k] - x[i]) + zettaiti(zinzya[j] - tera[k]);
				if (sumipe < gourikiayame) gourikiayame = sumipe;
			}
		}
		printf("%" PRId64 "\n", gourikiayame);
	}
	return 0;
}
```

Unoptimized Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.globl	zettaiti
	.type	zettaiti, @function
zettaiti:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movq	%rdi, -8(%rbp)
	movq	-8(%rbp), %rax
	movq	%rax, %rdx
	negq	%rdx
	cmovns	%rdx, %rax
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	zettaiti, .-zettaiti
	.globl	asumisu
	.type	asumisu, @function
asumisu:
.LFB1:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movq	%rdi, -24(%rbp)
	movl	%esi, -28(%rbp)
	movq	%rdx, -40(%rbp)
	movl	$0, -12(%rbp)
	movl	-28(%rbp), %eax
	subl	$1, %eax
	movl	%eax, -8(%rbp)
	movl	-12(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	movq	-24(%rbp), %rax
	addq	%rdx, %rax
	movq	(%rax), %rax
	cmpq	%rax, -40(%rbp)
	jge	.L4
	movl	$0, %eax
	jmp	.L5
.L4:
	movl	-8(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	movq	-24(%rbp), %rax
	addq	%rdx, %rax
	movq	(%rax), %rax
	cmpq	%rax, -40(%rbp)
	jl	.L7
	movl	-8(%rbp), %eax
	jmp	.L5
.L9:
	movl	-8(%rbp), %eax
	subl	-12(%rbp), %eax
	movl	%eax, %edx
	shrl	$31, %edx
	addl	%edx, %eax
	sarl	%eax
	movl	%eax, %edx
	movl	-12(%rbp), %eax
	addl	%edx, %eax
	movl	%eax, -4(%rbp)
	movl	-4(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	movq	-24(%rbp), %rax
	addq	%rdx, %rax
	movq	(%rax), %rax
	cmpq	%rax, -40(%rbp)
	jl	.L8
	movl	-4(%rbp), %eax
	movl	%eax, -12(%rbp)
	jmp	.L7
.L8:
	movl	-4(%rbp), %eax
	movl	%eax, -8(%rbp)
.L7:
	movl	-12(%rbp), %eax
	addl	$1, %eax
	cmpl	%eax, -8(%rbp)
	jg	.L9
	movl	-12(%rbp), %eax
.L5:
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	asumisu, .-asumisu
	.globl	mizuhasu
	.type	mizuhasu, @function
mizuhasu:
.LFB2:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movq	%rdi, -24(%rbp)
	movl	%esi, -28(%rbp)
	movq	%rdx, -40(%rbp)
	movl	$0, -12(%rbp)
	movl	-28(%rbp), %eax
	subl	$1, %eax
	movl	%eax, -8(%rbp)
	movl	-8(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	movq	-24(%rbp), %rax
	addq	%rdx, %rax
	movq	(%rax), %rax
	cmpq	%rax, -40(%rbp)
	jle	.L11
	movl	-28(%rbp), %eax
	subl	$1, %eax
	jmp	.L12
.L11:
	movl	-12(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	movq	-24(%rbp), %rax
	addq	%rdx, %rax
	movq	(%rax), %rax
	cmpq	%rax, -40(%rbp)
	jg	.L14
	movl	-12(%rbp), %eax
	jmp	.L12
.L16:
	movl	-8(%rbp), %eax
	subl	-12(%rbp), %eax
	movl	%eax, %edx
	shrl	$31, %edx
	addl	%edx, %eax
	sarl	%eax
	movl	%eax, %edx
	movl	-12(%rbp), %eax
	addl	%edx, %eax
	movl	%eax, -4(%rbp)
	movl	-4(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	movq	-24(%rbp), %rax
	addq	%rdx, %rax
	movq	(%rax), %rax
	cmpq	%rax, -40(%rbp)
	jg	.L15
	movl	-4(%rbp), %eax
	movl	%eax, -8(%rbp)
	jmp	.L14
.L15:
	movl	-4(%rbp), %eax
	movl	%eax, -12(%rbp)
.L14:
	movl	-12(%rbp), %eax
	addl	$1, %eax
	cmpl	%eax, -8(%rbp)
	jg	.L16
	movl	-8(%rbp), %eax
.L12:
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	mizuhasu, .-mizuhasu
	.globl	A
	.bss
	.align 4
	.type	A, @object
	.size	A, 4
A:
	.zero	4
	.globl	B
	.align 4
	.type	B, @object
	.size	B, 4
B:
	.zero	4
	.globl	Q
	.align 4
	.type	Q, @object
	.size	Q, 4
Q:
	.zero	4
	.globl	s
	.align 32
	.type	s, @object
	.size	s, 916112
s:
	.zero	916112
	.globl	t
	.align 32
	.type	t, @object
	.size	t, 916112
t:
	.zero	916112
	.globl	x
	.align 32
	.type	x, @object
	.size	x, 916112
x:
	.zero	916112
	.section	.rodata
.LC0:
	.string	"%d%d%d"
.LC1:
	.string	"%ld"
.LC2:
	.string	"%ld\n"
	.text
	.globl	main
	.type	main, @function
main:
.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	$88, %rsp
	.cfi_offset 3, -24
	movq	%fs:40, %rax
	movq	%rax, -24(%rbp)
	xorl	%eax, %eax
	leaq	Q(%rip), %rax
	movq	%rax, %rcx
	leaq	B(%rip), %rax
	movq	%rax, %rdx
	leaq	A(%rip), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	cmpl	$3, %eax
	je	.L18
	movl	$1, %eax
	jmp	.L19
.L18:
	movl	$0, -92(%rbp)
	jmp	.L20
.L22:
	movl	-92(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	leaq	s(%rip), %rax
	addq	%rdx, %rax
	movq	%rax, %rsi
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	cmpl	$1, %eax
	je	.L21
	movl	$1, %eax
	jmp	.L19
.L21:
	addl	$1, -92(%rbp)
.L20:
	movl	A(%rip), %eax
	cmpl	%eax, -92(%rbp)
	jl	.L22
	movl	$0, -92(%rbp)
	jmp	.L23
.L25:
	movl	-92(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	leaq	t(%rip), %rax
	addq	%rdx, %rax
	movq	%rax, %rsi
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	cmpl	$1, %eax
	je	.L24
	movl	$1, %eax
	jmp	.L19
.L24:
	addl	$1, -92(%rbp)
.L23:
	movl	B(%rip), %eax
	cmpl	%eax, -92(%rbp)
	jl	.L25
	movl	$0, -92(%rbp)
	jmp	.L26
.L28:
	movl	-92(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	leaq	x(%rip), %rax
	addq	%rdx, %rax
	movq	%rax, %rsi
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	cmpl	$1, %eax
	je	.L27
	movl	$1, %eax
	jmp	.L19
.L27:
	addl	$1, -92(%rbp)
.L26:
	movl	Q(%rip), %eax
	cmpl	%eax, -92(%rbp)
	jl	.L28
	movl	$0, -92(%rbp)
	jmp	.L29
.L36:
	movabsq	$99999999999999999, %rax
	movq	%rax, -80(%rbp)
	movl	-92(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	leaq	x(%rip), %rax
	movq	(%rdx,%rax), %rdx
	movl	A(%rip), %eax
	movl	%eax, %esi
	leaq	s(%rip), %rax
	movq	%rax, %rdi
	call	asumisu
	cltq
	leaq	0(,%rax,8), %rdx
	leaq	s(%rip), %rax
	movq	(%rdx,%rax), %rax
	movq	%rax, -64(%rbp)
	movl	-92(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	leaq	x(%rip), %rax
	movq	(%rdx,%rax), %rdx
	movl	A(%rip), %eax
	movl	%eax, %esi
	leaq	s(%rip), %rax
	movq	%rax, %rdi
	call	mizuhasu
	cltq
	leaq	0(,%rax,8), %rdx
	leaq	s(%rip), %rax
	movq	(%rdx,%rax), %rax
	movq	%rax, -56(%rbp)
	movl	-92(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	leaq	x(%rip), %rax
	movq	(%rdx,%rax), %rdx
	movl	B(%rip), %eax
	movl	%eax, %esi
	leaq	t(%rip), %rax
	movq	%rax, %rdi
	call	asumisu
	cltq
	leaq	0(,%rax,8), %rdx
	leaq	t(%rip), %rax
	movq	(%rdx,%rax), %rax
	movq	%rax, -48(%rbp)
	movl	-92(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	leaq	x(%rip), %rax
	movq	(%rdx,%rax), %rdx
	movl	B(%rip), %eax
	movl	%eax, %esi
	leaq	t(%rip), %rax
	movq	%rax, %rdi
	call	mizuhasu
	cltq
	leaq	0(,%rax,8), %rdx
	leaq	t(%rip), %rax
	movq	(%rdx,%rax), %rax
	movq	%rax, -40(%rbp)
	movl	$0, -88(%rbp)
	jmp	.L30
.L35:
	movl	$0, -84(%rbp)
	jmp	.L31
.L34:
	movl	-88(%rbp), %eax
	cltq
	movq	-64(%rbp,%rax,8), %rax
	movl	-92(%rbp), %edx
	movslq	%edx, %rdx
	leaq	0(,%rdx,8), %rcx
	leaq	x(%rip), %rdx
	movq	(%rcx,%rdx), %rdx
	subq	%rdx, %rax
	movq	%rax, %rdi
	call	zettaiti
	movq	%rax, %rbx
	movl	-84(%rbp), %eax
	cltq
	movq	-48(%rbp,%rax,8), %rdx
	movl	-88(%rbp), %eax
	cltq
	movq	-64(%rbp,%rax,8), %rcx
	movq	%rdx, %rax
	subq	%rcx, %rax
	movq	%rax, %rdi
	call	zettaiti
	addq	%rbx, %rax
	movq	%rax, -72(%rbp)
	movq	-72(%rbp), %rax
	cmpq	-80(%rbp), %rax
	jge	.L32
	movq	-72(%rbp), %rax
	movq	%rax, -80(%rbp)
.L32:
	movl	-84(%rbp), %eax
	cltq
	movq	-48(%rbp,%rax,8), %rax
	movl	-92(%rbp), %edx
	movslq	%edx, %rdx
	leaq	0(,%rdx,8), %rcx
	leaq	x(%rip), %rdx
	movq	(%rcx,%rdx), %rdx
	subq	%rdx, %rax
	movq	%rax, %rdi
	call	zettaiti
	movq	%rax, %rbx
	movl	-88(%rbp), %eax
	cltq
	movq	-64(%rbp,%rax,8), %rdx
	movl	-84(%rbp), %eax
	cltq
	movq	-48(%rbp,%rax,8), %rcx
	movq	%rdx, %rax
	subq	%rcx, %rax
	movq	%rax, %rdi
	call	zettaiti
	addq	%rbx, %rax
	movq	%rax, -72(%rbp)
	movq	-72(%rbp), %rax
	cmpq	-80(%rbp), %rax
	jge	.L33
	movq	-72(%rbp), %rax
	movq	%rax, -80(%rbp)
.L33:
	addl	$1, -84(%rbp)
.L31:
	cmpl	$1, -84(%rbp)
	jle	.L34
	addl	$1, -88(%rbp)
.L30:
	cmpl	$1, -88(%rbp)
	jle	.L35
	movq	-80(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC2(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	addl	$1, -92(%rbp)
.L29:
	movl	Q(%rip), %eax
	cmpl	%eax, -92(%rbp)
	jl	.L36
	movl	$0, %eax
.L19:
	movq	-24(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L37
	call	__stack_chk_fail@PLT
.L37:
	movq	-8(%rbp), %rbx
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.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	zettaiti
	.type	zettaiti, @function
zettaiti:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movq	%rdi, -8(%rbp)
	movq	-8(%rbp), %rax
	movq	%rax, %rdx
	negq	%rdx
	cmovns	%rdx, %rax
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	zettaiti, .-zettaiti
	.globl	asumisu
	.type	asumisu, @function
asumisu:
.LFB1:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movq	%rdi, -24(%rbp)
	movl	%esi, -28(%rbp)
	movq	%rdx, -40(%rbp)
	movl	$0, -12(%rbp)
	movl	-28(%rbp), %eax
	subl	$1, %eax
	movl	%eax, -8(%rbp)
	movl	-12(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	movq	-24(%rbp), %rax
	addq	%rdx, %rax
	movq	(%rax), %rax
	cmpq	%rax, -40(%rbp)
	jge	.L4
	movl	$0, %eax
	jmp	.L5
.L4:
	movl	-8(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	movq	-24(%rbp), %rax
	addq	%rdx, %rax
	movq	(%rax), %rax
	cmpq	%rax, -40(%rbp)
	jl	.L7
	movl	-8(%rbp), %eax
	jmp	.L5
.L9:
	movl	-8(%rbp), %eax
	subl	-12(%rbp), %eax
	movl	%eax, %edx
	shrl	$31, %edx
	addl	%edx, %eax
	sarl	%eax
	movl	%eax, %edx
	movl	-12(%rbp), %eax
	addl	%edx, %eax
	movl	%eax, -4(%rbp)
	movl	-4(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	movq	-24(%rbp), %rax
	addq	%rdx, %rax
	movq	(%rax), %rax
	cmpq	%rax, -40(%rbp)
	jl	.L8
	movl	-4(%rbp), %eax
	movl	%eax, -12(%rbp)
	jmp	.L7
.L8:
	movl	-4(%rbp), %eax
	movl	%eax, -8(%rbp)
.L7:
	movl	-12(%rbp), %eax
	addl	$1, %eax
	cmpl	%eax, -8(%rbp)
	jg	.L9
	movl	-12(%rbp), %eax
.L5:
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	asumisu, .-asumisu
	.globl	mizuhasu
	.type	mizuhasu, @function
mizuhasu:
.LFB2:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movq	%rdi, -24(%rbp)
	movl	%esi, -28(%rbp)
	movq	%rdx, -40(%rbp)
	movl	$0, -12(%rbp)
	movl	-28(%rbp), %eax
	subl	$1, %eax
	movl	%eax, -8(%rbp)
	movl	-8(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	movq	-24(%rbp), %rax
	addq	%rdx, %rax
	movq	(%rax), %rax
	cmpq	%rax, -40(%rbp)
	jle	.L11
	movl	-28(%rbp), %eax
	subl	$1, %eax
	jmp	.L12
.L11:
	movl	-12(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	movq	-24(%rbp), %rax
	addq	%rdx, %rax
	movq	(%rax), %rax
	cmpq	%rax, -40(%rbp)
	jg	.L14
	movl	-12(%rbp), %eax
	jmp	.L12
.L16:
	movl	-8(%rbp), %eax
	subl	-12(%rbp), %eax
	movl	%eax, %edx
	shrl	$31, %edx
	addl	%edx, %eax
	sarl	%eax
	movl	%eax, %edx
	movl	-12(%rbp), %eax
	addl	%edx, %eax
	movl	%eax, -4(%rbp)
	movl	-4(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	movq	-24(%rbp), %rax
	addq	%rdx, %rax
	movq	(%rax), %rax
	cmpq	%rax, -40(%rbp)
	jg	.L15
	movl	-4(%rbp), %eax
	movl	%eax, -8(%rbp)
	jmp	.L14
.L15:
	movl	-4(%rbp), %eax
	movl	%eax, -12(%rbp)
.L14:
	movl	-12(%rbp), %eax
	addl	$1, %eax
	cmpl	%eax, -8(%rbp)
	jg	.L16
	movl	-8(%rbp), %eax
.L12:
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	mizuhasu, .-mizuhasu
	.globl	A
	.bss
	.align 4
	.type	A, @object
	.size	A, 4
A:
	.zero	4
	.globl	B
	.align 4
	.type	B, @object
	.size	B, 4
B:
	.zero	4
	.globl	Q
	.align 4
	.type	Q, @object
	.size	Q, 4
Q:
	.zero	4
	.globl	s
	.align 32
	.type	s, @object
	.size	s, 916112
s:
	.zero	916112
	.globl	t
	.align 32
	.type	t, @object
	.size	t, 916112
t:
	.zero	916112
	.globl	x
	.align 32
	.type	x, @object
	.size	x, 916112
x:
	.zero	916112
	.section	.rodata
.LC0:
	.string	"%d%d%d"
.LC1:
	.string	"%ld"
.LC2:
	.string	"%ld\n"
	.text
	.globl	main
	.type	main, @function
main:
.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	$88, %rsp
	.cfi_offset 3, -24
	movq	%fs:40, %rax
	movq	%rax, -24(%rbp)
	xorl	%eax, %eax
	leaq	Q(%rip), %rax
	movq	%rax, %rcx
	leaq	B(%rip), %rax
	movq	%rax, %rdx
	leaq	A(%rip), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	cmpl	$3, %eax
	je	.L18
	movl	$1, %eax
	jmp	.L19
.L18:
	movl	$0, -92(%rbp)
	jmp	.L20
.L22:
	movl	-92(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	leaq	s(%rip), %rax
	addq	%rdx, %rax
	movq	%rax, %rsi
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	cmpl	$1, %eax
	je	.L21
	movl	$1, %eax
	jmp	.L19
.L21:
	addl	$1, -92(%rbp)
.L20:
	movl	A(%rip), %eax
	cmpl	%eax, -92(%rbp)
	jl	.L22
	movl	$0, -92(%rbp)
	jmp	.L23
.L25:
	movl	-92(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	leaq	t(%rip), %rax
	addq	%rdx, %rax
	movq	%rax, %rsi
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	cmpl	$1, %eax
	je	.L24
	movl	$1, %eax
	jmp	.L19
.L24:
	addl	$1, -92(%rbp)
.L23:
	movl	B(%rip), %eax
	cmpl	%eax, -92(%rbp)
	jl	.L25
	movl	$0, -92(%rbp)
	jmp	.L26
.L28:
	movl	-92(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	leaq	x(%rip), %rax
	addq	%rdx, %rax
	movq	%rax, %rsi
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	cmpl	$1, %eax
	je	.L27
	movl	$1, %eax
	jmp	.L19
.L27:
	addl	$1, -92(%rbp)
.L26:
	movl	Q(%rip), %eax
	cmpl	%eax, -92(%rbp)
	jl	.L28
	movl	$0, -92(%rbp)
	jmp	.L29
.L36:
	movabsq	$99999999999999999, %rax
	movq	%rax, -80(%rbp)
	movl	-92(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	leaq	x(%rip), %rax
	movq	(%rdx,%rax), %rdx
	movl	A(%rip), %eax
	movl	%eax, %esi
	leaq	s(%rip), %rax
	movq	%rax, %rdi
	call	asumisu
	cltq
	leaq	0(,%rax,8), %rdx
	leaq	s(%rip), %rax
	movq	(%rdx,%rax), %rax
	movq	%rax, -64(%rbp)
	movl	-92(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	leaq	x(%rip), %rax
	movq	(%rdx,%rax), %rdx
	movl	A(%rip), %eax
	movl	%eax, %esi
	leaq	s(%rip), %rax
	movq	%rax, %rdi
	call	mizuhasu
	cltq
	leaq	0(,%rax,8), %rdx
	leaq	s(%rip), %rax
	movq	(%rdx,%rax), %rax
	movq	%rax, -56(%rbp)
	movl	-92(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	leaq	x(%rip), %rax
	movq	(%rdx,%rax), %rdx
	movl	B(%rip), %eax
	movl	%eax, %esi
	leaq	t(%rip), %rax
	movq	%rax, %rdi
	call	asumisu
	cltq
	leaq	0(,%rax,8), %rdx
	leaq	t(%rip), %rax
	movq	(%rdx,%rax), %rax
	movq	%rax, -48(%rbp)
	movl	-92(%rbp), %eax
	cltq
	leaq	0(,%rax,8), %rdx
	leaq	x(%rip), %rax
	movq	(%rdx,%rax), %rdx
	movl	B(%rip), %eax
	movl	%eax, %esi
	leaq	t(%rip), %rax
	movq	%rax, %rdi
	call	mizuhasu
	cltq
	leaq	0(,%rax,8), %rdx
	leaq	t(%rip), %rax
	movq	(%rdx,%rax), %rax
	movq	%rax, -40(%rbp)
	movl	$0, -88(%rbp)
	jmp	.L30
.L35:
	movl	$0, -84(%rbp)
	jmp	.L31
.L34:
	movl	-88(%rbp), %eax
	cltq
	movq	-64(%rbp,%rax,8), %rax
	movl	-92(%rbp), %edx
	movslq	%edx, %rdx
	leaq	0(,%rdx,8), %rcx
	leaq	x(%rip), %rdx
	movq	(%rcx,%rdx), %rdx
	subq	%rdx, %rax
	movq	%rax, %rdi
	call	zettaiti
	movq	%rax, %rbx
	movl	-84(%rbp), %eax
	cltq
	movq	-48(%rbp,%rax,8), %rdx
	movl	-88(%rbp), %eax
	cltq
	movq	-64(%rbp,%rax,8), %rcx
	movq	%rdx, %rax
	subq	%rcx, %rax
	movq	%rax, %rdi
	call	zettaiti
	addq	%rbx, %rax
	movq	%rax, -72(%rbp)
	movq	-72(%rbp), %rax
	cmpq	-80(%rbp), %rax
	jge	.L32
	movq	-72(%rbp), %rax
	movq	%rax, -80(%rbp)
.L32:
	movl	-84(%rbp), %eax
	cltq
	movq	-48(%rbp,%rax,8), %rax
	movl	-92(%rbp), %edx
	movslq	%edx, %rdx
	leaq	0(,%rdx,8), %rcx
	leaq	x(%rip), %rdx
	movq	(%rcx,%rdx), %rdx
	subq	%rdx, %rax
	movq	%rax, %rdi
	call	zettaiti
	movq	%rax, %rbx
	movl	-88(%rbp), %eax
	cltq
	movq	-64(%rbp,%rax,8), %rdx
	movl	-84(%rbp), %eax
	cltq
	movq	-48(%rbp,%rax,8), %rcx
	movq	%rdx, %rax
	subq	%rcx, %rax
	movq	%rax, %rdi
	call	zettaiti
	addq	%rbx, %rax
	movq	%rax, -72(%rbp)
	movq	-72(%rbp), %rax
	cmpq	-80(%rbp), %rax
	jge	.L33
	movq	-72(%rbp), %rax
	movq	%rax, -80(%rbp)
.L33:
	addl	$1, -84(%rbp)
.L31:
	cmpl	$1, -84(%rbp)
	jle	.L34
	addl	$1, -88(%rbp)
.L30:
	cmpl	$1, -88(%rbp)
	jle	.L35
	movq	-80(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC2(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	addl	$1, -92(%rbp)
.L29:
	movl	Q(%rip), %eax
	cmpl	%eax, -92(%rbp)
	jl	.L36
	movl	$0, %eax
.L19:
	movq	-24(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L37
	call	__stack_chk_fail@PLT
.L37:
	movq	-8(%rbp), %rbx
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.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:
