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

```c
// AOJ 2187: Card Game
// 2017.11.6 bal4u@uu

#include <stdio.h>
#include <string.h>
#define TM 0
#if TM
#include <time.h>
#endif

#define SUM 171		// =19*9
#define HALF 86		// =SUM/2+1
int g[10], j[10];
int f[10][171][1<<9], p[10];

int rec(int i, int sg, int combi)
{
	int r, k, mask;

	if (i == 9) return sg >= HALF;
	if (f[i][sg][combi] >= 0) return f[i][sg][combi];
	if (sg >= HALF) return f[i][sg][combi] = p[9-i];
	
	for (r = 0, mask = 1, k = 0; k < 9; k++, mask <<= 1) {
		if (combi & mask) {
			if (g[i] > j[k]) r += rec(i+1, sg+g[i]+j[k], combi^mask);
			else             r += rec(i+1, sg, combi^mask);
		}
	}
	return f[i][sg][combi] = r;
}

int main()
{
	int t, i;
	double x;

#if TM
	clock_t start, end;
	start = clock();
#endif
	for (p[0] = 1, i = 1; i <= 9; i++) p[i] = i*p[i-1];

	scanf("%d", &t);
	while (t-- > 0) {
		for (i = 0; i < 9; i++) scanf("%d", g+i);
		for (i = 0; i < 9; i++) scanf("%d", j+i);
		memset(f, -1, sizeof(f));
		x = 1.0/p[9] * rec(0, 0, (1<<9)-1);
		printf("%.15lf %.15lf\n", x, 1-x);
	}
#if TM
	end = clock();
	printf("time %lf\n", (double)(end-start)/CLOCKS_PER_SEC);
#endif
	return 0;
}```

Unoptimized Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.globl	g
	.bss
	.align 32
	.type	g, @object
	.size	g, 40
g:
	.zero	40
	.globl	j
	.align 32
	.type	j, @object
	.size	j, 40
j:
	.zero	40
	.globl	f
	.align 32
	.type	f, @object
	.size	f, 3502080
f:
	.zero	3502080
	.globl	p
	.align 32
	.type	p, @object
	.size	p, 40
p:
	.zero	40
	.text
	.globl	rec
	.type	rec, @function
rec:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$32, %rsp
	movl	%edi, -20(%rbp)
	movl	%esi, -24(%rbp)
	movl	%edx, -28(%rbp)
	cmpl	$9, -20(%rbp)
	jne	.L2
	cmpl	$85, -24(%rbp)
	setg	%al
	movzbl	%al, %eax
	jmp	.L3
.L2:
	movl	-28(%rbp), %eax
	movslq	%eax, %rcx
	movl	-20(%rbp), %eax
	movslq	%eax, %rdx
	movl	-24(%rbp), %eax
	movslq	%eax, %rsi
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	leaq	0(,%rax,8), %rdx
	addq	%rdx, %rax
	addq	%rsi, %rax
	salq	$9, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	f(%rip), %rax
	movl	(%rdx,%rax), %eax
	testl	%eax, %eax
	js	.L4
	movl	-28(%rbp), %eax
	movslq	%eax, %rcx
	movl	-20(%rbp), %eax
	movslq	%eax, %rdx
	movl	-24(%rbp), %eax
	movslq	%eax, %rsi
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	leaq	0(,%rax,8), %rdx
	addq	%rdx, %rax
	addq	%rsi, %rax
	salq	$9, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	f(%rip), %rax
	movl	(%rdx,%rax), %eax
	jmp	.L3
.L4:
	cmpl	$85, -24(%rbp)
	jle	.L5
	movl	$9, %eax
	subl	-20(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	p(%rip), %rax
	movl	(%rdx,%rax), %ecx
	movl	-28(%rbp), %eax
	movslq	%eax, %rsi
	movl	-20(%rbp), %eax
	movslq	%eax, %rdx
	movl	-24(%rbp), %eax
	movslq	%eax, %rdi
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	leaq	0(,%rax,8), %rdx
	addq	%rdx, %rax
	addq	%rdi, %rax
	salq	$9, %rax
	addq	%rsi, %rax
	leaq	0(,%rax,4), %rdx
	leaq	f(%rip), %rax
	movl	%ecx, (%rdx,%rax)
	movl	-28(%rbp), %eax
	movslq	%eax, %rcx
	movl	-20(%rbp), %eax
	movslq	%eax, %rdx
	movl	-24(%rbp), %eax
	movslq	%eax, %rsi
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	leaq	0(,%rax,8), %rdx
	addq	%rdx, %rax
	addq	%rsi, %rax
	salq	$9, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	f(%rip), %rax
	movl	(%rdx,%rax), %eax
	jmp	.L3
.L5:
	movl	$0, -12(%rbp)
	movl	$1, -4(%rbp)
	movl	$0, -8(%rbp)
	jmp	.L6
.L9:
	movl	-28(%rbp), %eax
	andl	-4(%rbp), %eax
	testl	%eax, %eax
	je	.L7
	movl	-20(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	g(%rip), %rax
	movl	(%rdx,%rax), %edx
	movl	-8(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rcx
	leaq	j(%rip), %rax
	movl	(%rcx,%rax), %eax
	cmpl	%eax, %edx
	jle	.L8
	movl	-28(%rbp), %eax
	xorl	-4(%rbp), %eax
	movl	-20(%rbp), %edx
	movslq	%edx, %rdx
	leaq	0(,%rdx,4), %rcx
	leaq	g(%rip), %rdx
	movl	(%rcx,%rdx), %ecx
	movl	-24(%rbp), %edx
	leal	(%rcx,%rdx), %esi
	movl	-8(%rbp), %edx
	movslq	%edx, %rdx
	leaq	0(,%rdx,4), %rcx
	leaq	j(%rip), %rdx
	movl	(%rcx,%rdx), %edx
	addl	%edx, %esi
	movl	-20(%rbp), %edx
	leal	1(%rdx), %ecx
	movl	%eax, %edx
	movl	%ecx, %edi
	call	rec
	addl	%eax, -12(%rbp)
	jmp	.L7
.L8:
	movl	-28(%rbp), %eax
	xorl	-4(%rbp), %eax
	movl	%eax, %edx
	movl	-20(%rbp), %eax
	leal	1(%rax), %ecx
	movl	-24(%rbp), %eax
	movl	%eax, %esi
	movl	%ecx, %edi
	call	rec
	addl	%eax, -12(%rbp)
.L7:
	addl	$1, -8(%rbp)
	sall	-4(%rbp)
.L6:
	cmpl	$8, -8(%rbp)
	jle	.L9
	movl	-28(%rbp), %eax
	movslq	%eax, %rcx
	movl	-20(%rbp), %eax
	movslq	%eax, %rdx
	movl	-24(%rbp), %eax
	movslq	%eax, %rsi
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	leaq	0(,%rax,8), %rdx
	addq	%rdx, %rax
	addq	%rsi, %rax
	salq	$9, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rcx
	leaq	f(%rip), %rdx
	movl	-12(%rbp), %eax
	movl	%eax, (%rcx,%rdx)
	movl	-28(%rbp), %eax
	movslq	%eax, %rcx
	movl	-20(%rbp), %eax
	movslq	%eax, %rdx
	movl	-24(%rbp), %eax
	movslq	%eax, %rsi
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	leaq	0(,%rax,8), %rdx
	addq	%rdx, %rax
	addq	%rsi, %rax
	salq	$9, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	f(%rip), %rax
	movl	(%rdx,%rax), %eax
.L3:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	rec, .-rec
	.section	.rodata
.LC0:
	.string	"%d"
.LC2:
	.string	"%.15lf %.15lf\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB1:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$48, %rsp
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movl	$1, p(%rip)
	movl	$1, -20(%rbp)
	jmp	.L11
.L12:
	movl	-20(%rbp), %eax
	subl	$1, %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	p(%rip), %rax
	movl	(%rdx,%rax), %eax
	imull	-20(%rbp), %eax
	movl	-20(%rbp), %edx
	movslq	%edx, %rdx
	leaq	0(,%rdx,4), %rcx
	leaq	p(%rip), %rdx
	movl	%eax, (%rcx,%rdx)
	addl	$1, -20(%rbp)
.L11:
	cmpl	$9, -20(%rbp)
	jle	.L12
	leaq	-24(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	jmp	.L13
.L18:
	movl	$0, -20(%rbp)
	jmp	.L14
.L15:
	movl	-20(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	g(%rip), %rax
	addq	%rdx, %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	addl	$1, -20(%rbp)
.L14:
	cmpl	$8, -20(%rbp)
	jle	.L15
	movl	$0, -20(%rbp)
	jmp	.L16
.L17:
	movl	-20(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	j(%rip), %rax
	addq	%rdx, %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	addl	$1, -20(%rbp)
.L16:
	cmpl	$8, -20(%rbp)
	jle	.L17
	movl	$3502080, %edx
	movl	$-1, %esi
	leaq	f(%rip), %rax
	movq	%rax, %rdi
	call	memset@PLT
	movl	36+p(%rip), %eax
	pxor	%xmm1, %xmm1
	cvtsi2sdl	%eax, %xmm1
	movsd	.LC1(%rip), %xmm0
	divsd	%xmm1, %xmm0
	movsd	%xmm0, -40(%rbp)
	movl	$511, %edx
	movl	$0, %esi
	movl	$0, %edi
	call	rec
	pxor	%xmm0, %xmm0
	cvtsi2sdl	%eax, %xmm0
	mulsd	-40(%rbp), %xmm0
	movsd	%xmm0, -16(%rbp)
	movsd	.LC1(%rip), %xmm0
	subsd	-16(%rbp), %xmm0
	movq	-16(%rbp), %rax
	movapd	%xmm0, %xmm1
	movq	%rax, %xmm0
	leaq	.LC2(%rip), %rax
	movq	%rax, %rdi
	movl	$2, %eax
	call	printf@PLT
.L13:
	movl	-24(%rbp), %eax
	leal	-1(%rax), %edx
	movl	%edx, -24(%rbp)
	testl	%eax, %eax
	jg	.L18
	movl	$0, %eax
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L20
	call	__stack_chk_fail@PLT
.L20:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	main, .-main
	.section	.rodata
	.align 8
.LC1:
	.long	0
	.long	1072693248
	.ident	"GCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	1f - 0f
	.long	4f - 1f
	.long	5
0:
	.string	"GNU"
1:
	.align 8
	.long	0xc0000002
	.long	3f - 2f
2:
	.long	0x3
3:
	.align 8
4:
```

Only output the optimized assembly code. Do not include any other text. Do not write any comments in the assembly code. Wrap the assembly code in ```assembly``` tags.
user
	.file	"temp.c"
	.text
	.p2align 4
	.type	rec.part.0, @function
rec.part.0:
.LFB37:
	.cfi_startproc
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	movl	%esi, %r15d
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	movslq	%edi, %r13
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	leal	1(%r13), %eax
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	movslq	%edx, %rbx
	subq	$40, %rsp
	.cfi_def_cfa_offset 96
	movl	%eax, 8(%rsp)
	cmpl	$85, %esi
	jg	.L2
	cmpl	$9, %eax
	je	.L3
	movslq	%esi, %rdi
	leaq	f(%rip), %rcx
	movslq	%eax, %r10
	xorl	%r14d, %r14d
	movq	%rdi, (%rsp)
	movq	%rcx, %rax
	leaq	j(%rip), %r12
	movl	%esi, %ecx
	leaq	(%r10,%r10,8), %r9
	leaq	36(%r12), %r8
	movl	$1, %ebp
	movq	%rax, %r15
	addq	%r9, %r9
	.p2align 4,,10
	.p2align 3
.L9:
	testl	%ebp, %ebx
	je	.L4
	leaq	g(%rip), %rax
	movl	%ebx, %r11d
	movl	(%rax,%r13,4), %esi
	movl	(%r12), %eax
	xorl	%ebp, %r11d
	cmpl	%eax, %esi
	jg	.L117
	leaq	(%r9,%r10), %rax
	movslq	%r11d, %rdx
	leaq	(%rax,%rax,8), %rax
	addq	(%rsp), %rax
	salq	$9, %rax
	addq	%rdx, %rax
	movl	(%r15,%rax,4), %eax
	testl	%eax, %eax
	jns	.L8
	movl	8(%rsp), %edi
	movl	%ecx, %esi
	movl	%r11d, %edx
	movq	%r9, 24(%rsp)
	movq	%r10, 16(%rsp)
	movl	%ecx, 12(%rsp)
	call	rec.part.0
	movq	24(%rsp), %r9
	movl	12(%rsp), %ecx
	leaq	36+j(%rip), %r8
	movq	16(%rsp), %r10
	.p2align 4,,10
	.p2align 3
.L8:
	addl	%eax, %r14d
.L4:
	addq	$4, %r12
	addl	%ebp, %ebp
	cmpq	%r8, %r12
	jne	.L9
.L115:
	movq	%r15, %rcx
.L10:
	leaq	0(%r13,%r13,8), %rax
	leaq	0(%r13,%rax,2), %rax
	leaq	(%rax,%rax,8), %rax
	addq	(%rsp), %rax
	salq	$9, %rax
	addq	%rbx, %rax
	movl	%r14d, (%rcx,%rax,4)
	addq	$40, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	movl	%r14d, %eax
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L117:
	.cfi_restore_state
	addl	%ecx, %esi
	leaq	(%r9,%r10), %rdx
	addl	%eax, %esi
	leaq	(%rdx,%rdx,8), %rdx
	movslq	%r11d, %rax
	movslq	%esi, %rdi
	addq	%rdi, %rdx
	salq	$9, %rdx
	addq	%rax, %rdx
	movl	(%r15,%rdx,4), %eax
	testl	%eax, %eax
	jns	.L8
	cmpl	$85, %esi
	jg	.L118
	movl	8(%rsp), %edi
	movl	%r11d, %edx
	movq	%r9, 24(%rsp)
	movq	%r10, 16(%rsp)
	movl	%ecx, 12(%rsp)
	call	rec.part.0
	movq	24(%rsp), %r9
	movl	12(%rsp), %ecx
	leaq	36+j(%rip), %r8
	movq	16(%rsp), %r10
	jmp	.L8
	.p2align 4,,10
	.p2align 3
.L2:
	cmpl	$9, %eax
	je	.L20
	movslq	%esi, %rdi
	movslq	%eax, %r9
	leaq	f(%rip), %rcx
	xorl	%r14d, %r14d
	leaq	(%r9,%r9,8), %rax
	movq	%rdi, (%rsp)
	movl	$1, %ebp
	leaq	j(%rip), %r12
	leaq	(%rax,%rax), %r11
	movq	%rcx, %rax
	leaq	36(%r12), %r8
	movl	%esi, %ecx
	movq	%rax, %r15
	.p2align 4,,10
	.p2align 3
.L28:
	testl	%ebp, %ebx
	je	.L21
	leaq	g(%rip), %rax
	movl	%ebx, %r10d
	movl	(%rax,%r13,4), %esi
	movl	(%r12), %eax
	xorl	%ebp, %r10d
	cmpl	%eax, %esi
	jg	.L22
	leaq	(%r11,%r9), %rax
	movslq	%r10d, %r10
	leaq	(%rax,%rax,8), %rax
	addq	(%rsp), %rax
	salq	$9, %rax
	addq	%r10, %rax
	movl	(%r15,%rax,4), %edx
	testl	%edx, %edx
	jns	.L24
	movl	$9, %edx
	subl	8(%rsp), %edx
	leaq	p(%rip), %rsi
	movslq	%edx, %rdx
	movl	(%rsi,%rdx,4), %edx
	movl	%edx, (%r15,%rax,4)
.L24:
	addl	%edx, %r14d
.L21:
	addq	$4, %r12
	addl	%ebp, %ebp
	cmpq	%r8, %r12
	jne	.L28
	jmp	.L115
	.p2align 4,,10
	.p2align 3
.L22:
	addl	%ecx, %esi
	leaq	(%r11,%r9), %rdx
	addl	%eax, %esi
	leaq	(%rdx,%rdx,8), %rdx
	movslq	%r10d, %rax
	movslq	%esi, %rdi
	addq	%rdi, %rdx
	salq	$9, %rdx
	addq	%rax, %rdx
	movl	(%r15,%rdx,4), %eax
	testl	%eax, %eax
	jns	.L27
	cmpl	$85, %esi
	jg	.L26
	movl	8(%rsp), %edi
	movl	%r10d, %edx
	movq	%r11, 24(%rsp)
	movq	%r9, 16(%rsp)
	movl	%ecx, 12(%rsp)
	call	rec.part.0
	movl	12(%rsp), %ecx
	movq	16(%rsp), %r9
	leaq	36+j(%rip), %r8
	movq	24(%rsp), %r11
.L27:
	addl	%eax, %r14d
	jmp	.L21
	.p2align 4,,10
	.p2align 3
.L118:
	movl	$9, %eax
	subl	8(%rsp), %eax
	leaq	p(%rip), %rsi
	cltq
	movl	(%rsi,%rax,4), %eax
	movl	%eax, (%r15,%rdx,4)
	jmp	.L8
.L26:
	movl	$9, %eax
	subl	8(%rsp), %eax
	leaq	p(%rip), %rsi
	cltq
	movl	(%rsi,%rax,4), %eax
	movl	%eax, (%r15,%rdx,4)
	jmp	.L27
	.p2align 4,,10
	.p2align 3
.L3:
	movl	%ebx, %r14d
	andl	$1, %r14d
	je	.L11
	movl	32+g(%rip), %eax
	movl	j(%rip), %edx
	xorl	%r14d, %r14d
	cmpl	%eax, %edx
	jl	.L119
.L11:
	testb	$2, %bl
	je	.L12
	movl	32+g(%rip), %eax
	movl	4+j(%rip), %edx
	cmpl	%eax, %edx
	jl	.L120
.L12:
	testb	$4, %bl
	je	.L13
	movl	32+g(%rip), %eax
	movl	8+j(%rip), %edx
	cmpl	%edx, %eax
	jg	.L121
.L13:
	testb	$8, %bl
	je	.L14
	movl	32+g(%rip), %eax
	movl	12+j(%rip), %edx
	cmpl	%edx, %eax
	jg	.L122
.L14:
	testb	$16, %bl
	je	.L15
	movl	32+g(%rip), %eax
	movl	16+j(%rip), %edx
	cmpl	%edx, %eax
	jg	.L123
.L15:
	testb	$32, %bl
	je	.L16
	movl	32+g(%rip), %eax
	movl	20+j(%rip), %edx
	cmpl	%edx, %eax
	jg	.L124
.L16:
	testb	$64, %bl
	je	.L17
	movl	32+g(%rip), %eax
	movl	24+j(%rip), %edx
	cmpl	%edx, %eax
	jg	.L125
.L17:
	testb	$-128, %bl
	je	.L18
	movl	32+g(%rip), %eax
	movl	28+j(%rip), %edx
	cmpl	%edx, %eax
	jg	.L126
.L18:
	testb	$1, %bh
	je	.L113
	movl	32+g(%rip), %eax
	movl	32+j(%rip), %edx
	cmpl	%eax, %edx
	jge	.L113
.L114:
	addl	%r15d, %eax
	leaq	f(%rip), %rcx
	addl	%edx, %eax
	cmpl	$85, %eax
	setg	%al
	movzbl	%al, %eax
	addl	%eax, %r14d
	movslq	%r15d, %rax
	movq	%rax, (%rsp)
	jmp	.L10
.L20:
	movl	%ebx, %r14d
	andl	$1, %r14d
	jne	.L127
.L29:
	testb	$2, %bl
	jne	.L128
.L30:
	testb	$4, %bl
	jne	.L129
.L32:
	testb	$8, %bl
	jne	.L130
.L34:
	testb	$16, %bl
	jne	.L131
.L36:
	testb	$32, %bl
	jne	.L132
.L38:
	testb	$64, %bl
	jne	.L133
.L40:
	testb	$-128, %bl
	jne	.L134
.L42:
	testb	$1, %bh
	jne	.L111
.L113:
	movslq	%r15d, %rax
	leaq	f(%rip), %rcx
	movq	%rax, (%rsp)
	jmp	.L10
.L111:
	movl	32+g(%rip), %eax
	movl	32+j(%rip), %edx
	cmpl	%edx, %eax
	jg	.L114
	addl	$1, %r14d
	jmp	.L113
.L134:
	movl	32+g(%rip), %eax
	movl	28+j(%rip), %edx
	cmpl	%edx, %eax
	jg	.L43
	addl	$1, %r14d
	jmp	.L42
.L133:
	movl	32+g(%rip), %eax
	movl	24+j(%rip), %edx
	cmpl	%edx, %eax
	jg	.L41
	addl	$1, %r14d
	jmp	.L40
.L132:
	movl	32+g(%rip), %eax
	movl	20+j(%rip), %edx
	cmpl	%edx, %eax
	jg	.L39
	addl	$1, %r14d
	jmp	.L38
.L131:
	movl	32+g(%rip), %eax
	movl	16+j(%rip), %edx
	cmpl	%edx, %eax
	jg	.L37
	addl	$1, %r14d
	jmp	.L36
.L130:
	movl	32+g(%rip), %eax
	movl	12+j(%rip), %edx
	cmpl	%edx, %eax
	jg	.L35
	addl	$1, %r14d
	jmp	.L34
.L128:
	movl	32+g(%rip), %eax
	movl	4+j(%rip), %edx
	cmpl	%edx, %eax
	jg	.L31
	addl	$1, %r14d
	jmp	.L30
.L129:
	movl	32+g(%rip), %eax
	movl	8+j(%rip), %edx
	cmpl	%edx, %eax
	jg	.L33
	addl	$1, %r14d
	jmp	.L32
.L127:
	movl	32+g(%rip), %eax
	movl	j(%rip), %edx
	cmpl	%edx, %eax
	jle	.L29
	addl	%esi, %eax
	xorl	%r14d, %r14d
	addl	%edx, %eax
	cmpl	$85, %eax
	setg	%r14b
	jmp	.L29
.L126:
	addl	%r15d, %eax
	addl	%edx, %eax
	cmpl	$85, %eax
	setg	%al
	movzbl	%al, %eax
	addl	%eax, %r14d
	jmp	.L18
.L125:
	addl	%r15d, %eax
	addl	%edx, %eax
	cmpl	$85, %eax
	setg	%al
	movzbl	%al, %eax
	addl	%eax, %r14d
	jmp	.L17
.L124:
	addl	%r15d, %eax
	addl	%edx, %eax
	cmpl	$85, %eax
	setg	%al
	movzbl	%al, %eax
	addl	%eax, %r14d
	jmp	.L16
.L123:
	addl	%r15d, %eax
	addl	%edx, %eax
	cmpl	$85, %eax
	setg	%al
	movzbl	%al, %eax
	addl	%eax, %r14d
	jmp	.L15
.L122:
	addl	%r15d, %eax
	addl	%edx, %eax
	cmpl	$85, %eax
	setg	%al
	movzbl	%al, %eax
	addl	%eax, %r14d
	jmp	.L14
.L121:
	addl	%r15d, %eax
	addl	%edx, %eax
	cmpl	$85, %eax
	setg	%al
	movzbl	%al, %eax
	addl	%eax, %r14d
	jmp	.L13
.L120:
	addl	%r15d, %eax
	addl	%edx, %eax
	cmpl	$85, %eax
	setg	%al
	movzbl	%al, %eax
	addl	%eax, %r14d
	jmp	.L12
.L119:
	addl	%esi, %eax
	xorl	%r14d, %r14d
	addl	%edx, %eax
	cmpl	$85, %eax
	setg	%r14b
	jmp	.L11
.L43:
	addl	%r15d, %eax
	addl	%edx, %eax
	cmpl	$85, %eax
	setg	%al
	movzbl	%al, %eax
	addl	%eax, %r14d
	jmp	.L42
.L41:
	addl	%r15d, %eax
	addl	%edx, %eax
	cmpl	$85, %eax
	setg	%al
	movzbl	%al, %eax
	addl	%eax, %r14d
	jmp	.L40
.L39:
	addl	%r15d, %eax
	addl	%edx, %eax
	cmpl	$85, %eax
	setg	%al
	movzbl	%al, %eax
	addl	%eax, %r14d
	jmp	.L38
.L37:
	addl	%r15d, %eax
	addl	%edx, %eax
	cmpl	$85, %eax
	setg	%al
	movzbl	%al, %eax
	addl	%eax, %r14d
	jmp	.L36
.L31:
	addl	%r15d, %eax
	addl	%edx, %eax
	cmpl	$85, %eax
	setg	%al
	movzbl	%al, %eax
	addl	%eax, %r14d
	jmp	.L30
.L35:
	addl	%r15d, %eax
	addl	%edx, %eax
	cmpl	$85, %eax
	setg	%al
	movzbl	%al, %eax
	addl	%eax, %r14d
	jmp	.L34
.L33:
	addl	%r15d, %eax
	addl	%edx, %eax
	cmpl	$85, %eax
	setg	%al
	movzbl	%al, %eax
	addl	%eax, %r14d
	jmp	.L32
	.cfi_endproc
.LFE37:
	.size	rec.part.0, .-rec.part.0
	.p2align 4
	.globl	rec
	.type	rec, @function
rec:
.LFB35:
	.cfi_startproc
	endbr64
	cmpl	$9, %edi
	je	.L139
	movslq	%edi, %rax
	movslq	%esi, %r8
	leaq	f(%rip), %r9
	movslq	%edx, %rcx
	leaq	(%rax,%rax,8), %r10
	leaq	(%rax,%r10,2), %rax
	leaq	(%rax,%rax,8), %rax
	addq	%r8, %rax
	salq	$9, %rax
	addq	%rcx, %rax
	movl	(%r9,%rax,4), %r8d
	testl	%r8d, %r8d
	jns	.L135
	cmpl	$85, %esi
	jg	.L140
	jmp	rec.part.0
	.p2align 4,,10
	.p2align 3
.L139:
	xorl	%r8d, %r8d
	cmpl	$85, %esi
	setg	%r8b
.L135:
	movl	%r8d, %eax
	ret
	.p2align 4,,10
	.p2align 3
.L140:
	movl	$9, %edx
	leaq	p(%rip), %rcx
	subl	%edi, %edx
	movslq	%edx, %rdx
	movl	(%rcx,%rdx,4), %r8d
	movl	%r8d, (%r9,%rax,4)
	movl	%r8d, %eax
	ret
	.cfi_endproc
.LFE35:
	.size	rec, .-rec
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC3:
	.string	"%d"
.LC5:
	.string	"%.15lf %.15lf\n"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB36:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	leaq	.LC3(%rip), %rdi
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	leaq	36+j(%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	$184, %rsp
	.cfi_def_cfa_offset 240
	movdqa	.LC0(%rip), %xmm0
	movq	%fs:40, %rax
	movq	%rax, 168(%rsp)
	xorl	%eax, %eax
	movq	.LC2(%rip), %rax
	leaq	164(%rsp), %rsi
	movaps	%xmm0, p(%rip)
	movdqa	.LC1(%rip), %xmm0
	movq	%rax, 32+p(%rip)
	xorl	%eax, %eax
	movaps	%xmm0, 16+p(%rip)
	call	__isoc99_scanf@PLT
	movl	164(%rsp), %eax
	leal	-1(%rax), %edx
	movl	%edx, 164(%rsp)
	testl	%eax, %eax
	jle	.L237
	.p2align 4,,10
	.p2align 3
.L142:
	leaq	g(%rip), %rbx
	.p2align 4,,10
	.p2align 3
.L143:
	movq	%rbx, %rsi
	leaq	.LC3(%rip), %rdi
	xorl	%eax, %eax
	addq	$4, %rbx
	call	__isoc99_scanf@PLT
	leaq	36+g(%rip), %rax
	cmpq	%rbx, %rax
	jne	.L143
	leaq	j(%rip), %rbx
	.p2align 4,,10
	.p2align 3
.L144:
	movq	%rbx, %rsi
	leaq	.LC3(%rip), %rdi
	xorl	%eax, %eax
	addq	$4, %rbx
	call	__isoc99_scanf@PLT
	cmpq	%rbx, %r13
	jne	.L144
	movl	$3502080, %edx
	movl	$-1, %esi
	leaq	f(%rip), %rdi
	call	memset@PLT
	pxor	%xmm0, %xmm0
	movsd	.LC4(%rip), %xmm1
	leaq	j(%rip), %rax
	cvtsi2sdl	36+p(%rip), %xmm0
	movq	%rax, 8(%rsp)
	movl	$0, 76(%rsp)
	movl	$1, 28(%rsp)
	divsd	%xmm0, %xmm1
	.p2align 4,,10
	.p2align 3
.L236:
	movl	28(%rsp), %edi
	testl	$511, %edi
	je	.L145
	leaq	g(%rip), %rax
	xorl	$511, %edi
	movl	(%rax), %edx
	movq	8(%rsp), %rax
	movl	%edi, 24(%rsp)
	movl	(%rax), %eax
	cmpl	%eax, %edx
	jle	.L146
	leal	(%rdx,%rax), %ecx
	movslq	%edi, %rdi
	leaq	f(%rip), %rdx
	movslq	%ecx, %rax
	movl	%ecx, 72(%rsp)
	movq	%rax, 56(%rsp)
	salq	$9, %rax
	movq	%rax, 32(%rsp)
	leaq	87552(%rax,%rdi), %rax
	movl	(%rdx,%rax,4), %ebx
	movq	%rdi, 96(%rsp)
	movl	%ebx, (%rsp)
	testl	%ebx, %ebx
	jns	.L147
	cmpl	$85, %ecx
	jg	.L326
	movl	$0, (%rsp)
	leaq	j(%rip), %rbx
	movl	$1, %r11d
	movq	%rbx, %r10
	.p2align 4,,10
	.p2align 3
.L148:
	movl	24(%rsp), %esi
	testl	%r11d, %esi
	je	.L149
	movl	4+g(%rip), %eax
	movl	(%r10), %edx
	xorl	%r11d, %esi
	movl	%esi, %r9d
	cmpl	%edx, %eax
	jle	.L150
	addl	72(%rsp), %eax
	movslq	%esi, %rbx
	leaq	f(%rip), %rsi
	leal	(%rax,%rdx), %ecx
	movq	%rbx, 40(%rsp)
	movslq	%ecx, %rax
	movl	%ecx, 48(%rsp)
	movq	%rax, 64(%rsp)
	salq	$9, %rax
	movq	%rax, 16(%rsp)
	leaq	175104(%rax,%rbx), %rax
	movl	(%rsi,%rax,4), %r8d
	testl	%r8d, %r8d
	jns	.L151
	cmpl	$85, %ecx
	jg	.L327
	movq	%r10, 112(%rsp)
	xorl	%r8d, %r8d
	leaq	j(%rip), %rbp
	movl	$1, %ebx
	movl	%r11d, 104(%rsp)
	movl	%r8d, %r11d
	.p2align 4,,10
	.p2align 3
.L152:
	testl	%r9d, %ebx
	je	.L153
	movl	8+g(%rip), %r14d
	movl	0(%rbp), %eax
	movl	%ebx, %r12d
	xorl	%r9d, %r12d
	cmpl	%eax, %r14d
	jle	.L154
	addl	48(%rsp), %r14d
	movslq	%r12d, %r10
	leaq	f(%rip), %rdx
	addl	%eax, %r14d
	movslq	%r14d, %rax
	movq	%rax, 88(%rsp)
	salq	$9, %rax
	movq	%rax, 80(%rsp)
	leaq	262656(%rax,%r10), %rax
	movl	(%rdx,%rax,4), %r8d
	testl	%r8d, %r8d
	jns	.L155
	cmpl	$85, %r14d
	jg	.L328
	leaq	j(%rip), %rcx
	movl	%r11d, 144(%rsp)
	xorl	%r8d, %r8d
	movl	$1, %r15d
	movq	%rbp, 120(%rsp)
	movq	%rcx, %rbp
	movl	%ebx, 128(%rsp)
	movl	%r8d, %ebx
	movq	%r10, 136(%rsp)
	movl	%r14d, %r10d
	movl	%r9d, %r14d
	.p2align 4,,10
	.p2align 3
.L156:
	testl	%r12d, %r15d
	je	.L157
	movl	12+g(%rip), %eax
	movl	0(%rbp), %esi
	movl	%r15d, %edx
	xorl	%r12d, %edx
	cmpl	%esi, %eax
	jle	.L158
	addl	%r10d, %eax
	movslq	%edx, %rdi
	addl	%eax, %esi
	movslq	%esi, %rax
	salq	$9, %rax
	leaq	350208(%rdi,%rax), %rdi
	leaq	f(%rip), %rax
	movl	(%rax,%rdi,4), %eax
	testl	%eax, %eax
	jns	.L161
	cmpl	$85, %esi
	jg	.L329
.L322:
	movl	$4, %edi
	movl	%r10d, 148(%rsp)
	call	rec.part.0
	movl	148(%rsp), %r10d
.L161:
	addl	%eax, %ebx
.L157:
	addq	$4, %rbp
	addl	%r15d, %r15d
	cmpq	%rbp, %r13
	jne	.L156
	movq	88(%rsp), %rax
	movl	%ebx, %r8d
	movq	120(%rsp), %rbp
	movl	%r14d, %r9d
	movq	136(%rsp), %r10
	leaq	f(%rip), %rcx
	movl	144(%rsp), %r11d
	salq	$9, %rax
	movl	128(%rsp), %ebx
	leaq	262656(%rax,%r10), %rax
	movl	%r8d, (%rcx,%rax,4)
.L155:
	addl	%r8d, %r11d
.L153:
	addq	$4, %rbp
	addl	%ebx, %ebx
	cmpq	%r13, %rbp
	jne	.L152
	movq	64(%rsp), %rax
	movq	40(%rsp), %rbx
	movl	%r11d, %r8d
	leaq	f(%rip), %rcx
	movl	104(%rsp), %r11d
	movq	112(%rsp), %r10
	salq	$9, %rax
	leaq	175104(%rax,%rbx), %rax
	movl	%r8d, (%rcx,%rax,4)
.L151:
	addl	%r8d, (%rsp)
.L149:
	addq	$4, %r10
	addl	%r11d, %r11d
	cmpq	%r10, %r13
	jne	.L148
	movq	56(%rsp), %rax
	movq	96(%rsp), %rsi
	leaq	f(%rip), %rcx
	movl	(%rsp), %edi
	salq	$9, %rax
	leaq	87552(%rax,%rsi), %rax
	movl	%edi, (%rcx,%rax,4)
.L147:
	movl	(%rsp), %ecx
	addl	%ecx, 76(%rsp)
.L145:
	addq	$4, 8(%rsp)
	movq	8(%rsp), %rax
	sall	28(%rsp)
	cmpq	%rax, %r13
	jne	.L236
	movl	76(%rsp), %eax
	pxor	%xmm0, %xmm0
	movl	$1, %edi
	leaq	.LC5(%rip), %rsi
	cvtsi2sdl	%eax, %xmm0
	movl	%eax, 2044+f(%rip)
	movl	$2, %eax
	mulsd	%xmm1, %xmm0
	movsd	.LC4(%rip), %xmm1
	subsd	%xmm0, %xmm1
	call	__printf_chk@PLT
	movl	164(%rsp), %eax
	leal	-1(%rax), %edx
	movl	%edx, 164(%rsp)
	testl	%eax, %eax
	jg	.L142
.L237:
	movq	168(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L330
	addq	$184, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	xorl	%eax, %eax
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L146:
	.cfi_restore_state
	movslq	24(%rsp), %rax
	leaq	f(%rip), %rdi
	movq	%rax, 96(%rsp)
	movl	350208(%rdi,%rax,4), %eax
	movl	%eax, 48(%rsp)
	testl	%eax, %eax
	jns	.L187
	leaq	j(%rip), %rax
	movl	$0, 48(%rsp)
	movq	%rax, (%rsp)
	movl	$1, 16(%rsp)
	.p2align 4,,10
	.p2align 3
.L235:
	movl	16(%rsp), %ecx
	movl	24(%rsp), %edi
	testl	%edi, %ecx
	je	.L188
	movq	(%rsp), %rax
	movl	4+g(%rip), %edx
	xorl	%edi, %ecx
	movl	%ecx, 32(%rsp)
	movl	(%rax), %eax
	cmpl	%eax, %edx
	jle	.L189
	leal	(%rdx,%rax), %r10d
	movslq	%ecx, %rdx
	leaq	f(%rip), %rbx
	movslq	%r10d, %rax
	movq	%rdx, 88(%rsp)
	movq	%rax, %r9
	movq	%rax, 40(%rsp)
	salq	$9, %r9
	leaq	175104(%r9,%rdx), %rax
	movl	(%rbx,%rax,4), %r11d
	testl	%r11d, %r11d
	jns	.L190
	cmpl	$85, %r10d
	jg	.L331
	movl	%r10d, 72(%rsp)
	movl	32(%rsp), %r10d
	xorl	%r11d, %r11d
	leaq	j(%rip), %rbp
	movq	%r9, 32(%rsp)
	movl	$1, %ebx
	.p2align 4,,10
	.p2align 3
.L191:
	testl	%r10d, %ebx
	je	.L192
	movl	8+g(%rip), %r14d
	movl	0(%rbp), %eax
	movl	%ebx, %r12d
	xorl	%r10d, %r12d
	cmpl	%eax, %r14d
	jle	.L193
	addl	72(%rsp), %r14d
	movslq	%r12d, %r9
	leaq	f(%rip), %rcx
	addl	%eax, %r14d
	movslq	%r14d, %rax
	movq	%rax, 64(%rsp)
	salq	$9, %rax
	movq	%rax, 56(%rsp)
	leaq	262656(%rax,%r9), %rax
	movl	(%rcx,%rax,4), %r8d
	testl	%r8d, %r8d
	jns	.L194
	cmpl	$85, %r14d
	jg	.L332
	movl	%r11d, 112(%rsp)
	movl	$1, %r15d
	leaq	j(%rip), %rcx
	xorl	%r8d, %r8d
	movl	%r10d, 120(%rsp)
	movq	%r9, 128(%rsp)
	movq	%rbp, 80(%rsp)
	movl	%r8d, %ebp
	movl	%ebx, 104(%rsp)
	movl	%r15d, %ebx
	movl	%r12d, %r15d
	movl	%r14d, %r12d
	movq	%rcx, %r14
	.p2align 4,,10
	.p2align 3
.L195:
	testl	%r15d, %ebx
	je	.L196
	movl	12+g(%rip), %eax
	movl	(%r14), %esi
	movl	%ebx, %edx
	xorl	%r15d, %edx
	cmpl	%esi, %eax
	jle	.L197
	addl	%r12d, %eax
	movslq	%edx, %rdi
	addl	%eax, %esi
	movslq	%esi, %rax
	salq	$9, %rax
	leaq	350208(%rdi,%rax), %rdi
	leaq	f(%rip), %rax
	movl	(%rax,%rdi,4), %eax
	testl	%eax, %eax
	jns	.L200
	cmpl	$85, %esi
	jg	.L333
.L324:
	movl	$4, %edi
	call	rec.part.0
.L200:
	addl	%eax, %ebp
.L196:
	addq	$4, %r14
	addl	%ebx, %ebx
	cmpq	%r14, %r13
	jne	.L195
	movq	64(%rsp), %rax
	movl	%ebp, %r8d
	movl	104(%rsp), %ebx
	leaq	f(%rip), %rsi
	movq	128(%rsp), %r9
	movl	112(%rsp), %r11d
	salq	$9, %rax
	movq	80(%rsp), %rbp
	movl	120(%rsp), %r10d
	leaq	262656(%rax,%r9), %rax
	movl	%r8d, (%rsi,%rax,4)
.L194:
	addl	%r8d, %r11d
.L192:
	addq	$4, %rbp
	addl	%ebx, %ebx
	cmpq	%r13, %rbp
	jne	.L191
	movq	40(%rsp), %rax
	movq	88(%rsp), %rbx
	salq	$9, %rax
	leaq	175104(%rax,%rbx), %rax
	leaq	f(%rip), %rbx
	movl	%r11d, (%rbx,%rax,4)
.L190:
	addl	%r11d, 48(%rsp)
.L188:
	addq	$4, (%rsp)
	movq	(%rsp), %rax
	sall	16(%rsp)
	cmpq	%rax, %r13
	jne	.L235
	movq	96(%rsp), %rbx
	movl	48(%rsp), %edx
	leaq	f(%rip), %rax
	movl	%edx, 350208(%rax,%rbx,4)
.L187:
	movl	48(%rsp), %esi
	addl	%esi, 76(%rsp)
	jmp	.L145
	.p2align 4,,10
	.p2align 3
.L189:
	movslq	32(%rsp), %rax
	leaq	f(%rip), %rdi
	movq	%rax, 88(%rsp)
	movl	700416(%rdi,%rax,4), %eax
	movl	%eax, 40(%rsp)
	testl	%eax, %eax
	jns	.L208
	movl	$0, 40(%rsp)
	leaq	j(%rip), %r10
	movl	$1, %r15d
	movq	%r10, %r14
	.p2align 4,,10
	.p2align 3
.L234:
	movl	32(%rsp), %esi
	testl	%r15d, %esi
	je	.L209
	movl	8+g(%rip), %r12d
	movl	(%r14), %eax
	xorl	%r15d, %esi
	cmpl	%eax, %r12d
	jle	.L210
	addl	%eax, %r12d
	movslq	%esi, %rax
	leaq	f(%rip), %rbx
	movslq	%r12d, %r10
	movq	%rax, 80(%rsp)
	movq	%r10, %rcx
	salq	$9, %rcx
	leaq	262656(%rcx,%rax), %rax
	movl	(%rbx,%rax,4), %r8d
	testl	%r8d, %r8d
	jns	.L211
	cmpl	$85, %r12d
	jg	.L334
	xorl	%r8d, %r8d
	movl	%r15d, 72(%rsp)
	movl	%esi, %r15d
	leaq	j(%rip), %rbp
	movq	%r14, 56(%rsp)
	movl	$1, %ebx
	movl	%r12d, %r14d
	movl	%r8d, %r12d
	movq	%r10, 64(%rsp)
	jmp	.L212
	.p2align 4,,10
	.p2align 3
.L337:
	addl	%r14d, %eax
	leal	(%rax,%rdx), %esi
	movslq	%r11d, %rdx
	movslq	%esi, %rax
	salq	$9, %rax
	leaq	350208(%rdx,%rax), %rdx
	leaq	f(%rip), %rax
	movl	(%rax,%rdx,4), %eax
	testl	%eax, %eax
	jns	.L217
	cmpl	$85, %esi
	jg	.L335
	movl	%r11d, %edx
	movl	$4, %edi
	movq	%rcx, 104(%rsp)
	call	rec.part.0
	movq	104(%rsp), %rcx
	.p2align 4,,10
	.p2align 3
.L217:
	addl	%eax, %r12d
.L213:
	addq	$4, %rbp
	addl	%ebx, %ebx
	cmpq	%rbp, %r13
	je	.L336
.L212:
	testl	%r15d, %ebx
	je	.L213
	movl	12+g(%rip), %eax
	movl	0(%rbp), %edx
	movl	%ebx, %r11d
	xorl	%r15d, %r11d
	cmpl	%edx, %eax
	jg	.L337
	movslq	%r11d, %rax
	leaq	f(%rip), %rdi
	leaq	350208(%rcx,%rax), %rax
	movl	(%rdi,%rax,4), %eax
	testl	%eax, %eax
	jns	.L217
	movl	%r11d, %edx
	movl	%r14d, %esi
	movl	$4, %edi
	movq	%rcx, 104(%rsp)
	call	rec.part.0
	movq	104(%rsp), %rcx
	jmp	.L217
	.p2align 4,,10
	.p2align 3
.L339:
	movq	80(%rsp), %rbx
	movl	72(%rsp), %esi
	leaq	f(%rip), %rax
	movl	148(%rsp), %r15d
	movq	152(%rsp), %r14
	movl	%esi, 1050624(%rax,%rbx,4)
.L218:
	movl	72(%rsp), %esi
	addl	%esi, 40(%rsp)
.L209:
	addq	$4, %r14
	addl	%r15d, %r15d
	cmpq	%r14, %r13
	jne	.L234
.L346:
	movq	88(%rsp), %rbx
	movl	40(%rsp), %edi
	leaq	f(%rip), %rax
	movl	%edi, 700416(%rax,%rbx,4)
.L208:
	movl	40(%rsp), %esi
	addl	%esi, 48(%rsp)
	jmp	.L188
	.p2align 4,,10
	.p2align 3
.L210:
	movslq	%esi, %rax
	leaq	f(%rip), %rdi
	movq	%rax, 80(%rsp)
	movl	1050624(%rdi,%rax,4), %eax
	movl	%eax, 72(%rsp)
	testl	%eax, %eax
	jns	.L218
	movl	$1, %r11d
	movl	%r15d, 148(%rsp)
	leaq	j(%rip), %r10
	movl	$0, 72(%rsp)
	movl	%r11d, %r15d
	movq	%r14, 152(%rsp)
	movl	%esi, 56(%rsp)
	jmp	.L233
	.p2align 4,,10
	.p2align 3
.L340:
	leal	(%rdx,%rax), %esi
	movslq	%ecx, %rdx
	movslq	%esi, %rax
	salq	$9, %rax
	leaq	350208(%rdx,%rax), %rdx
	leaq	f(%rip), %rax
	movl	(%rax,%rdx,4), %eax
	testl	%eax, %eax
	jns	.L221
	cmpl	$85, %esi
	jg	.L338
	movl	%ecx, %edx
	movl	$4, %edi
	movq	%r10, 64(%rsp)
	call	rec.part.0
	movq	64(%rsp), %r10
.L221:
	addl	%eax, 72(%rsp)
.L219:
	addq	$4, %r10
	addl	%r15d, %r15d
	cmpq	%r10, %r13
	je	.L339
.L233:
	movl	56(%rsp), %ecx
	testl	%r15d, %ecx
	je	.L219
	movl	12+g(%rip), %edx
	movl	(%r10), %eax
	xorl	%r15d, %ecx
	cmpl	%eax, %edx
	jg	.L340
	movslq	%ecx, %rax
	leaq	f(%rip), %rsi
	movl	1400832(%rsi,%rax,4), %r11d
	movq	%rax, 112(%rsp)
	testl	%r11d, %r11d
	jns	.L223
	movl	$1, %r12d
	xorl	%r11d, %r11d
	movl	%r15d, 144(%rsp)
	leaq	j(%rip), %r14
	movl	%r12d, %r15d
	movl	%r11d, 64(%rsp)
	movl	%ecx, %r12d
	movq	%r10, 136(%rsp)
	jmp	.L232
	.p2align 4,,10
	.p2align 3
.L343:
	leal	(%rdx,%rax), %esi
	movslq	%r10d, %rdx
	movslq	%esi, %rax
	salq	$9, %rax
	leaq	437760(%rdx,%rax), %rdx
	leaq	f(%rip), %rax
	movl	(%rax,%rdx,4), %eax
	testl	%eax, %eax
	jns	.L226
	cmpl	$85, %esi
	jg	.L341
	movl	%r10d, %edx
	movl	$5, %edi
	call	rec.part.0
.L226:
	addl	%eax, 64(%rsp)
.L224:
	addq	$4, %r14
	addl	%r15d, %r15d
	cmpq	%r14, %r13
	je	.L342
.L232:
	testl	%r12d, %r15d
	je	.L224
	movl	16+g(%rip), %edx
	movl	(%r14), %eax
	movl	%r15d, %r10d
	xorl	%r12d, %r10d
	cmpl	%eax, %edx
	jg	.L343
	movslq	%r10d, %rax
	leaq	f(%rip), %rdi
	movl	1751040(%rdi,%rax,4), %r11d
	movq	%rax, 104(%rsp)
	testl	%r11d, %r11d
	jns	.L228
	xorl	%r11d, %r11d
	movq	%r14, 120(%rsp)
	movl	%r10d, %r14d
	leaq	j(%rip), %rbp
	movl	%r12d, 128(%rsp)
	movl	$1, %ebx
	movl	%r11d, %r12d
	jmp	.L231
	.p2align 4,,10
	.p2align 3
.L345:
	addl	%eax, %esi
	movl	$6, %edi
	call	rec
	addl	%eax, %r12d
.L229:
	addq	$4, %rbp
	addl	%ebx, %ebx
	cmpq	%rbp, %r13
	je	.L344
.L231:
	testl	%r14d, %ebx
	je	.L229
	movl	20+g(%rip), %esi
	movl	0(%rbp), %eax
	movl	%ebx, %edx
	xorl	%r14d, %edx
	cmpl	%eax, %esi
	jg	.L345
	xorl	%esi, %esi
	movl	$6, %edi
	addq	$4, %rbp
	addl	%ebx, %ebx
	call	rec
	addl	%eax, %r12d
	cmpq	%rbp, %r13
	jne	.L231
.L344:
	movq	104(%rsp), %rsi
	movl	%r12d, %r11d
	movq	120(%rsp), %r14
	leaq	f(%rip), %rax
	movl	128(%rsp), %r12d
	movl	%r11d, 1751040(%rax,%rsi,4)
.L228:
	addq	$4, %r14
	addl	%r11d, 64(%rsp)
	addl	%r15d, %r15d
	cmpq	%r14, %r13
	jne	.L232
.L342:
	movl	64(%rsp), %r11d
	movq	112(%rsp), %rdi
	leaq	f(%rip), %rax
	movl	144(%rsp), %r15d
	movq	136(%rsp), %r10
	movl	%r11d, 1400832(%rax,%rdi,4)
.L223:
	addl	%r11d, 72(%rsp)
	jmp	.L219
	.p2align 4,,10
	.p2align 3
.L336:
	movq	64(%rsp), %rax
	movq	80(%rsp), %rbx
	movl	%r12d, %r8d
	leaq	f(%rip), %rsi
	movl	72(%rsp), %r15d
	movq	56(%rsp), %r14
	salq	$9, %rax
	leaq	262656(%rax,%rbx), %rax
	movl	%r12d, (%rsi,%rax,4)
.L211:
	addl	%r8d, 40(%rsp)
.L355:
	addq	$4, %r14
	addl	%r15d, %r15d
	cmpq	%r14, %r13
	jne	.L234
	jmp	.L346
	.p2align 4,,10
	.p2align 3
.L193:
	movq	32(%rsp), %rax
	movslq	%r12d, %r9
	leaq	f(%rip), %rcx
	leaq	262656(%rax,%r9), %rax
	movl	(%rcx,%rax,4), %ecx
	testl	%ecx, %ecx
	jns	.L201
	xorl	%ecx, %ecx
	movl	%ebx, 56(%rsp)
	leaq	j(%rip), %r15
	movl	$1, %r14d
	movl	%ecx, %ebx
	.p2align 4,,10
	.p2align 3
.L207:
	testl	%r12d, %r14d
	je	.L202
	movl	12+g(%rip), %eax
	movl	(%r15), %esi
	movl	%r14d, %edx
	xorl	%r12d, %edx
	cmpl	%esi, %eax
	jle	.L203
	addl	72(%rsp), %eax
	movslq	%edx, %rdi
	addl	%eax, %esi
	movslq	%esi, %rax
	salq	$9, %rax
	leaq	350208(%rdi,%rax), %rdi
	leaq	f(%rip), %rax
	movl	(%rax,%rdi,4), %eax
	testl	%eax, %eax
	jns	.L206
	cmpl	$85, %esi
	jg	.L347
	movq	%r9, 104(%rsp)
	movl	%r10d, 80(%rsp)
	movl	%r11d, 64(%rsp)
.L325:
	movl	$4, %edi
	call	rec.part.0
	movq	104(%rsp), %r9
	movl	80(%rsp), %r10d
	movl	64(%rsp), %r11d
.L206:
	addl	%eax, %ebx
.L202:
	addq	$4, %r15
	addl	%r14d, %r14d
	cmpq	%r15, %r13
	jne	.L207
	movq	32(%rsp), %rax
	movl	%ebx, %ecx
	leaq	f(%rip), %rdi
	movl	56(%rsp), %ebx
	leaq	262656(%rax,%r9), %rax
	movl	%ecx, (%rdi,%rax,4)
.L201:
	addl	%ecx, %r11d
	jmp	.L192
	.p2align 4,,10
	.p2align 3
.L150:
	movq	32(%rsp), %rdi
	movslq	%esi, %rax
	leaq	f(%rip), %rbx
	movq	%rax, 40(%rsp)
	leaq	175104(%rdi,%rax), %rax
	movl	(%rbx,%rax,4), %eax
	movl	%eax, 16(%rsp)
	testl	%eax, %eax
	jns	.L169
	movl	$0, 16(%rsp)
	leaq	j(%rip), %rbp
	movl	$1, %ebx
	movl	%r11d, 64(%rsp)
	movq	%r10, 80(%rsp)
	.p2align 4,,10
	.p2align 3
.L186:
	testl	%r9d, %ebx
	je	.L170
	movl	8+g(%rip), %r14d
	movl	0(%rbp), %eax
	movl	%ebx, %r12d
	xorl	%r9d, %r12d
	cmpl	%eax, %r14d
	jle	.L171
	addl	72(%rsp), %r14d
	movslq	%r12d, %r10
	leaq	f(%rip), %rcx
	addl	%eax, %r14d
	movslq	%r14d, %rax
	movq	%rax, %r11
	movq	%rax, 48(%rsp)
	salq	$9, %r11
	leaq	262656(%r11,%r10), %rax
	movl	(%rcx,%rax,4), %r8d
	testl	%r8d, %r8d
	jns	.L172
	cmpl	$85, %r14d
	jg	.L348
	leaq	j(%rip), %rcx
	xorl	%r8d, %r8d
	movl	%ebx, 88(%rsp)
	movl	$1, %r15d
	movq	%rbp, 104(%rsp)
	movl	%r14d, %ebx
	movl	%r12d, %ebp
	movq	%r11, %r14
	movq	%r10, 120(%rsp)
	movq	%rcx, %r12
	movl	%r8d, %r10d
	movl	%r9d, 112(%rsp)
	jmp	.L173
	.p2align 4,,10
	.p2align 3
.L351:
	addl	%ebx, %eax
	movslq	%edx, %rdi
	addl	%eax, %esi
	movslq	%esi, %rax
	salq	$9, %rax
	leaq	350208(%rdi,%rax), %rdi
	leaq	f(%rip), %rax
	movl	(%rax,%rdi,4), %eax
	testl	%eax, %eax
	jns	.L178
	cmpl	$85, %esi
	jg	.L349
	movl	$4, %edi
	movl	%r10d, 128(%rsp)
	call	rec.part.0
	movl	128(%rsp), %r10d
	.p2align 4,,10
	.p2align 3
.L178:
	addl	%eax, %r10d
.L174:
	addq	$4, %r12
	addl	%r15d, %r15d
	cmpq	%r12, %r13
	je	.L350
.L173:
	testl	%ebp, %r15d
	je	.L174
	movl	12+g(%rip), %eax
	movl	(%r12), %esi
	movl	%r15d, %edx
	xorl	%ebp, %edx
	cmpl	%esi, %eax
	jg	.L351
	movslq	%edx, %rax
	leaq	f(%rip), %rdi
	leaq	350208(%r14,%rax), %rax
	movl	(%rdi,%rax,4), %eax
	testl	%eax, %eax
	jns	.L178
	movl	%ebx, %esi
	movl	$4, %edi
	movl	%r10d, 128(%rsp)
	call	rec.part.0
	movl	128(%rsp), %r10d
	jmp	.L178
	.p2align 4,,10
	.p2align 3
.L171:
	movq	32(%rsp), %rax
	movslq	%r12d, %r10
	leaq	f(%rip), %rdi
	leaq	262656(%rax,%r10), %rax
	movl	(%rdi,%rax,4), %ecx
	testl	%ecx, %ecx
	jns	.L179
	xorl	%ecx, %ecx
	movq	%rbp, 48(%rsp)
	movl	%ebx, %ebp
	leaq	j(%rip), %r15
	movl	$1, %r14d
	movl	%ecx, %ebx
	.p2align 4,,10
	.p2align 3
.L185:
	testl	%r12d, %r14d
	je	.L180
	movl	12+g(%rip), %eax
	movl	(%r15), %edx
	movl	%r14d, %r8d
	xorl	%r12d, %r8d
	cmpl	%edx, %eax
	jle	.L181
	addl	72(%rsp), %eax
	leal	(%rax,%rdx), %esi
	movslq	%r8d, %rdx
	movslq	%esi, %rax
	salq	$9, %rax
	leaq	350208(%rdx,%rax), %rdx
	leaq	f(%rip), %rax
	movl	(%rax,%rdx,4), %eax
	testl	%eax, %eax
	jns	.L184
	cmpl	$85, %esi
	jg	.L352
	movl	%r8d, %edx
	movl	$4, %edi
	movq	%r10, 104(%rsp)
	movl	%r9d, 88(%rsp)
	call	rec.part.0
	movq	104(%rsp), %r10
	movl	88(%rsp), %r9d
	.p2align 4,,10
	.p2align 3
.L184:
	addl	%eax, %ebx
.L180:
	addq	$4, %r15
	addl	%r14d, %r14d
	cmpq	%r15, %r13
	jne	.L185
	movq	32(%rsp), %rax
	movl	%ebx, %ecx
	leaq	f(%rip), %rdi
	movl	%ebp, %ebx
	movq	48(%rsp), %rbp
	leaq	262656(%rax,%r10), %rax
	movl	%ecx, (%rdi,%rax,4)
.L179:
	addl	%ecx, 16(%rsp)
.L170:
	addq	$4, %rbp
	addl	%ebx, %ebx
	cmpq	%rbp, %r13
	jne	.L186
.L354:
	movq	32(%rsp), %rax
	movq	40(%rsp), %rbx
	leaq	f(%rip), %rsi
	movl	16(%rsp), %ecx
	movl	64(%rsp), %r11d
	leaq	175104(%rax,%rbx), %rax
	movq	80(%rsp), %r10
	movl	%ecx, (%rsi,%rax,4)
.L169:
	movl	16(%rsp), %ecx
	addl	%ecx, (%rsp)
	jmp	.L149
	.p2align 4,,10
	.p2align 3
.L203:
	movq	32(%rsp), %rsi
	movslq	%edx, %rax
	leaq	f(%rip), %rcx
	leaq	350208(%rsi,%rax), %rax
	movl	(%rcx,%rax,4), %eax
	testl	%eax, %eax
	jns	.L206
	movq	%r9, 104(%rsp)
	movl	72(%rsp), %esi
	movl	%r10d, 80(%rsp)
	movl	%r11d, 64(%rsp)
	jmp	.L325
	.p2align 4,,10
	.p2align 3
.L197:
	movq	56(%rsp), %rcx
	movslq	%edx, %rax
	leaq	f(%rip), %rdi
	leaq	350208(%rcx,%rax), %rax
	movl	(%rdi,%rax,4), %eax
	testl	%eax, %eax
	jns	.L200
	movl	%r12d, %esi
	jmp	.L324
	.p2align 4,,10
	.p2align 3
.L154:
	movq	16(%rsp), %rax
	movslq	%r12d, %r10
	leaq	f(%rip), %rsi
	leaq	262656(%rax,%r10), %rax
	movl	(%rsi,%rax,4), %ecx
	testl	%ecx, %ecx
	jns	.L162
	xorl	%ecx, %ecx
	movl	%ebx, 80(%rsp)
	leaq	j(%rip), %r15
	movl	$1, %r14d
	movl	%ecx, %ebx
	.p2align 4,,10
	.p2align 3
.L168:
	testl	%r12d, %r14d
	je	.L163
	movl	12+g(%rip), %eax
	movl	(%r15), %esi
	movl	%r14d, %edx
	xorl	%r12d, %edx
	cmpl	%esi, %eax
	jle	.L164
	addl	48(%rsp), %eax
	movslq	%edx, %rdi
	addl	%eax, %esi
	movslq	%esi, %rax
	salq	$9, %rax
	leaq	350208(%rdi,%rax), %rdi
	leaq	f(%rip), %rax
	movl	(%rax,%rdi,4), %eax
	testl	%eax, %eax
	jns	.L167
	cmpl	$85, %esi
	jg	.L353
	movq	%r10, 128(%rsp)
	movl	%r9d, 120(%rsp)
	movl	%r11d, 88(%rsp)
.L323:
	movl	$4, %edi
	call	rec.part.0
	movl	120(%rsp), %r9d
	movl	88(%rsp), %r11d
	movq	128(%rsp), %r10
.L167:
	addl	%eax, %ebx
.L163:
	addq	$4, %r15
	addl	%r14d, %r14d
	cmpq	%r15, %r13
	jne	.L168
	movq	16(%rsp), %rax
	movl	%ebx, %ecx
	leaq	f(%rip), %rsi
	movl	80(%rsp), %ebx
	leaq	262656(%rax,%r10), %rax
	movl	%ecx, (%rsi,%rax,4)
.L162:
	addl	%ecx, %r11d
	jmp	.L153
	.p2align 4,,10
	.p2align 3
.L350:
	movq	48(%rsp), %rax
	movl	%r10d, %r8d
	movq	120(%rsp), %r10
	leaq	f(%rip), %rdx
	movl	88(%rsp), %ebx
	movq	104(%rsp), %rbp
	salq	$9, %rax
	movl	112(%rsp), %r9d
	leaq	262656(%rax,%r10), %rax
	movl	%r8d, (%rdx,%rax,4)
.L172:
	addl	%r8d, 16(%rsp)
.L356:
	addq	$4, %rbp
	addl	%ebx, %ebx
	cmpq	%rbp, %r13
	jne	.L186
	jmp	.L354
	.p2align 4,,10
	.p2align 3
.L164:
	movq	16(%rsp), %rsi
	movslq	%edx, %rax
	leaq	f(%rip), %rcx
	leaq	350208(%rsi,%rax), %rax
	movl	(%rcx,%rax,4), %eax
	testl	%eax, %eax
	jns	.L167
	movq	%r10, 128(%rsp)
	movl	48(%rsp), %esi
	movl	%r9d, 120(%rsp)
	movl	%r11d, 88(%rsp)
	jmp	.L323
	.p2align 4,,10
	.p2align 3
.L181:
	movq	32(%rsp), %rdx
	movslq	%r8d, %rax
	leaq	350208(%rdx,%rax), %rax
	leaq	f(%rip), %rdx
	movl	(%rdx,%rax,4), %eax
	testl	%eax, %eax
	jns	.L184
	movl	72(%rsp), %esi
	movl	%r8d, %edx
	movl	$4, %edi
	movq	%r10, 104(%rsp)
	movl	%r9d, 88(%rsp)
	call	rec.part.0
	movq	104(%rsp), %r10
	movl	88(%rsp), %r9d
	jmp	.L184
	.p2align 4,,10
	.p2align 3
.L158:
	movq	80(%rsp), %rcx
	movslq	%edx, %rax
	leaq	f(%rip), %rdi
	leaq	350208(%rcx,%rax), %rax
	movl	(%rdi,%rax,4), %eax
	testl	%eax, %eax
	jns	.L161
	movl	%r10d, %esi
	jmp	.L322
	.p2align 4,,10
	.p2align 3
.L341:
	movl	16+p(%rip), %eax
	leaq	f(%rip), %rdi
	movl	%eax, (%rdi,%rdx,4)
	jmp	.L226
	.p2align 4,,10
	.p2align 3
.L338:
	movl	20+p(%rip), %eax
	leaq	f(%rip), %rbx
	movl	%eax, (%rbx,%rdx,4)
	jmp	.L221
	.p2align 4,,10
	.p2align 3
.L334:
	movl	24+p(%rip), %r8d
	addl	%r8d, 40(%rsp)
	movl	%r8d, (%rbx,%rax,4)
	jmp	.L355
	.p2align 4,,10
	.p2align 3
.L331:
	movl	28+p(%rip), %r11d
	movl	%r11d, (%rbx,%rax,4)
	jmp	.L190
	.p2align 4,,10
	.p2align 3
.L326:
	movl	32+p(%rip), %edx
	leaq	f(%rip), %rdi
	movl	%edx, (%rsp)
	movl	%edx, (%rdi,%rax,4)
	jmp	.L147
	.p2align 4,,10
	.p2align 3
.L335:
	movl	20+p(%rip), %eax
	leaq	f(%rip), %rsi
	movl	%eax, (%rsi,%rdx,4)
	jmp	.L217
	.p2align 4,,10
	.p2align 3
.L332:
	movl	24+p(%rip), %r8d
	movl	%r8d, (%rcx,%rax,4)
	jmp	.L194
	.p2align 4,,10
	.p2align 3
.L327:
	movl	28+p(%rip), %r8d
	movl	%r8d, (%rsi,%rax,4)
	jmp	.L151
	.p2align 4,,10
	.p2align 3
.L347:
	movl	20+p(%rip), %eax
	leaq	f(%rip), %rcx
	movl	%eax, (%rcx,%rdi,4)
	jmp	.L206
	.p2align 4,,10
	.p2align 3
.L333:
	movl	20+p(%rip), %eax
	leaq	f(%rip), %rsi
	movl	%eax, (%rsi,%rdi,4)
	jmp	.L200
	.p2align 4,,10
	.p2align 3
.L348:
	movl	24+p(%rip), %r8d
	addl	%r8d, 16(%rsp)
	movl	%r8d, (%rcx,%rax,4)
	jmp	.L356
	.p2align 4,,10
	.p2align 3
.L328:
	movl	24+p(%rip), %r8d
	movl	%r8d, (%rdx,%rax,4)
	jmp	.L155
.L352:
	movl	20+p(%rip), %eax
	leaq	f(%rip), %rdi
	movl	%eax, (%rdi,%rdx,4)
	jmp	.L184
.L349:
	movl	20+p(%rip), %eax
	leaq	f(%rip), %rdx
	movl	%eax, (%rdx,%rdi,4)
	jmp	.L178
.L353:
	movl	20+p(%rip), %eax
	leaq	f(%rip), %rsi
	movl	%eax, (%rsi,%rdi,4)
	jmp	.L167
.L329:
	movl	20+p(%rip), %eax
	leaq	f(%rip), %rdx
	movl	%eax, (%rdx,%rdi,4)
	jmp	.L161
.L330:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE36:
	.size	main, .-main
	.globl	p
	.bss
	.align 32
	.type	p, @object
	.size	p, 40
p:
	.zero	40
	.globl	f
	.align 32
	.type	f, @object
	.size	f, 3502080
f:
	.zero	3502080
	.globl	j
	.align 32
	.type	j, @object
	.size	j, 40
j:
	.zero	40
	.globl	g
	.align 32
	.type	g, @object
	.size	g, 40
g:
	.zero	40
	.section	.rodata.cst16,"aM",@progbits,16
	.align 16
.LC0:
	.long	1
	.long	1
	.long	2
	.long	6
	.align 16
.LC1:
	.long	24
	.long	120
	.long	720
	.long	5040
	.section	.rodata.cst8,"aM",@progbits,8
	.align 8
.LC2:
	.long	40320
	.long	362880
	.align 8
.LC4:
	.long	0
	.long	1072693248
	.ident	"GCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	1f - 0f
	.long	4f - 1f
	.long	5
0:
	.string	"GNU"
1:
	.align 8
	.long	0xc0000002
	.long	3f - 2f
2:
	.long	0x3
3:
	.align 8
4:

rule
	.file	"temp.c"
	.text
	.p2align 4
	.type	rec.part.0, @function
rec.part.0:
.LFB37:
	.cfi_startproc
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	movl	%esi, %r15d
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	movslq	%edi, %r13
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	leal	1(%r13), %eax
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	movslq	%edx, %rbx
	subq	$40, %rsp
	.cfi_def_cfa_offset 96
	movl	%eax, 8(%rsp)
	cmpl	$85, %esi
	jg	.L2
	cmpl	$9, %eax
	je	.L3
	movslq	%esi, %rdi
	leaq	f(%rip), %rcx
	movslq	%eax, %r10
	xorl	%r14d, %r14d
	movq	%rdi, (%rsp)
	movq	%rcx, %rax
	leaq	j(%rip), %r12
	movl	%esi, %ecx
	leaq	(%r10,%r10,8), %r9
	leaq	36(%r12), %r8
	movl	$1, %ebp
	movq	%rax, %r15
	addq	%r9, %r9
	.p2align 4,,10
	.p2align 3
.L9:
	testl	%ebp, %ebx
	je	.L4
	leaq	g(%rip), %rax
	movl	%ebx, %r11d
	movl	(%rax,%r13,4), %esi
	movl	(%r12), %eax
	xorl	%ebp, %r11d
	cmpl	%eax, %esi
	jg	.L117
	leaq	(%r9,%r10), %rax
	movslq	%r11d, %rdx
	leaq	(%rax,%rax,8), %rax
	addq	(%rsp), %rax
	salq	$9, %rax
	addq	%rdx, %rax
	movl	(%r15,%rax,4), %eax
	testl	%eax, %eax
	jns	.L8
	movl	8(%rsp), %edi
	movl	%ecx, %esi
	movl	%r11d, %edx
	movq	%r9, 24(%rsp)
	movq	%r10, 16(%rsp)
	movl	%ecx, 12(%rsp)
	call	rec.part.0
	movq	24(%rsp), %r9
	movl	12(%rsp), %ecx
	leaq	36+j(%rip), %r8
	movq	16(%rsp), %r10
	.p2align 4,,10
	.p2align 3
.L8:
	addl	%eax, %r14d
.L4:
	addq	$4, %r12
	addl	%ebp, %ebp
	cmpq	%r8, %r12
	jne	.L9
.L115:
	movq	%r15, %rcx
.L10:
	leaq	0(%r13,%r13,8), %rax
	leaq	0(%r13,%rax,2), %rax
	leaq	(%rax,%rax,8), %rax
	addq	(%rsp), %rax
	salq	$9, %rax
	addq	%rbx, %rax
	movl	%r14d, (%rcx,%rax,4)
	addq	$40, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	movl	%r14d, %eax
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L117:
	.cfi_restore_state
	addl	%ecx, %esi
	leaq	(%r9,%r10), %rdx
	addl	%eax, %esi
	leaq	(%rdx,%rdx,8), %rdx
	movslq	%r11d, %rax
	movslq	%esi, %rdi
	addq	%rdi, %rdx
	salq	$9, %rdx
	addq	%rax, %rdx
	movl	(%r15,%rdx,4), %eax
	testl	%eax, %eax
	jns	.L8
	cmpl	$85, %esi
	jg	.L118
	movl	8(%rsp), %edi
	movl	%r11d, %edx
	movq	%r9, 24(%rsp)
	movq	%r10, 16(%rsp)
	movl	%ecx, 12(%rsp)
	call	rec.part.0
	movq	24(%rsp), %r9
	movl	12(%rsp), %ecx
	leaq	36+j(%rip), %r8
	movq	16(%rsp), %r10
	jmp	.L8
	.p2align 4,,10
	.p2align 3
.L2:
	cmpl	$9, %eax
	je	.L20
	movslq	%esi, %rdi
	movslq	%eax, %r9
	leaq	f(%rip), %rcx
	xorl	%r14d, %r14d
	leaq	(%r9,%r9,8), %rax
	movq	%rdi, (%rsp)
	movl	$1, %ebp
	leaq	j(%rip), %r12
	leaq	(%rax,%rax), %r11
	movq	%rcx, %rax
	leaq	36(%r12), %r8
	movl	%esi, %ecx
	movq	%rax, %r15
	.p2align 4,,10
	.p2align 3
.L28:
	testl	%ebp, %ebx
	je	.L21
	leaq	g(%rip), %rax
	movl	%ebx, %r10d
	movl	(%rax,%r13,4), %esi
	movl	(%r12), %eax
	xorl	%ebp, %r10d
	cmpl	%eax, %esi
	jg	.L22
	leaq	(%r11,%r9), %rax
	movslq	%r10d, %r10
	leaq	(%rax,%rax,8), %rax
	addq	(%rsp), %rax
	salq	$9, %rax
	addq	%r10, %rax
	movl	(%r15,%rax,4), %edx
	testl	%edx, %edx
	jns	.L24
	movl	$9, %edx
	subl	8(%rsp), %edx
	leaq	p(%rip), %rsi
	movslq	%edx, %rdx
	movl	(%rsi,%rdx,4), %edx
	movl	%edx, (%r15,%rax,4)
.L24:
	addl	%edx, %r14d
.L21:
	addq	$4, %r12
	addl	%ebp, %ebp
	cmpq	%r8, %r12
	jne	.L28
	jmp	.L115
	.p2align 4,,10
	.p2align 3
.L22:
	addl	%ecx, %esi
	leaq	(%r11,%r9), %rdx
	addl	%eax, %esi
	leaq	(%rdx,%rdx,8), %rdx
	movslq	%r10d, %rax
	movslq	%esi, %rdi
	addq	%rdi, %rdx
	salq	$9, %rdx
	addq	%rax, %rdx
	movl	(%r15,%rdx,4), %eax
	testl	%eax, %eax
	jns	.L27
	cmpl	$85, %esi
	jg	.L26
	movl	8(%rsp), %edi
	movl	%r10d, %edx
	movq	%r11, 24(%rsp)
	movq	%r9, 16(%rsp)
	movl	%ecx, 12(%rsp)
	call	rec.part.0
	movl	12(%rsp), %ecx
	movq	16(%rsp), %r9
	leaq	36+j(%rip), %r8
	movq	24(%rsp), %r11
.L27:
	addl	%eax, %r14d
	jmp	.L21
	.p2align 4,,10
	.p2align 3
.L118:
	movl	$9, %eax
	subl	8(%rsp), %eax
	leaq	p(%rip), %rsi
	cltq
	movl	(%rsi,%rax,4), %eax
	movl	%eax, (%r15,%rdx,4)
	jmp	.L8
.L26:
	movl	$9, %eax
	subl	8(%rsp), %eax
	leaq	p(%rip), %rsi
	cltq
	movl	(%rsi,%rax,4), %eax
	movl	%eax, (%r15,%rdx,4)
	jmp	.L27
	.p2align 4,,10
	.p2align 3
.L3:
	movl	%ebx, %r14d
	andl	$1, %r14d
	je	.L11
	movl	32+g(%rip), %eax
	movl	j(%rip), %edx
	xorl	%r14d, %r14d
	cmpl	%eax, %edx
	jl	.L119
.L11:
	testb	$2, %bl
	je	.L12
	movl	32+g(%rip), %eax
	movl	4+j(%rip), %edx
	cmpl	%eax, %edx
	jl	.L120
.L12:
	testb	$4, %bl
	je	.L13
	movl	32+g(%rip), %eax
	movl	8+j(%rip), %edx
	cmpl	%edx, %eax
	jg	.L121
.L13:
	testb	$8, %bl
	je	.L14
	movl	32+g(%rip), %eax
	movl	12+j(%rip), %edx
	cmpl	%edx, %eax
	jg	.L122
.L14:
	testb	$16, %bl
	je	.L15
	movl	32+g(%rip), %eax
	movl	16+j(%rip), %edx
	cmpl	%edx, %eax
	jg	.L123
.L15:
	testb	$32, %bl
	je	.L16
	movl	32+g(%rip), %eax
	movl	20+j(%rip), %edx
	cmpl	%edx, %eax
	jg	.L124
.L16:
	testb	$64, %bl
	je	.L17
	movl	32+g(%rip), %eax
	movl	24+j(%rip), %edx
	cmpl	%edx, %eax
	jg	.L125
.L17:
	testb	$-128, %bl
	je	.L18
	movl	32+g(%rip), %eax
	movl	28+j(%rip), %edx
	cmpl	%edx, %eax
	jg	.L126
.L18:
	testb	$1, %bh
	je	.L113
	movl	32+g(%rip), %eax
	movl	32+j(%rip), %edx
	cmpl	%eax, %edx
	jge	.L113
.L114:
	addl	%r15d, %eax
	leaq	f(%rip), %rcx
	addl	%edx, %eax
	cmpl	$85, %eax
	setg	%al
	movzbl	%al, %eax
	addl	%eax, %r14d
	movslq	%r15d, %rax
	movq	%rax, (%rsp)
	jmp	.L10
.L20:
	movl	%ebx, %r14d
	andl	$1, %r14d
	jne	.L127
.L29:
	testb	$2, %bl
	jne	.L128
.L30:
	testb	$4, %bl
	jne	.L129
.L32:
	testb	$8, %bl
	jne	.L130
.L34:
	testb	$16, %bl
	jne	.L131
.L36:
	testb	$32, %bl
	jne	.L132
.L38:
	testb	$64, %bl
	jne	.L133
.L40:
	testb	$-128, %bl
	jne	.L134
.L42:
	testb	$1, %bh
	jne	.L111
.L113:
	movslq	%r15d, %rax
	leaq	f(%rip), %rcx
	movq	%rax, (%rsp)
	jmp	.L10
.L111:
	movl	32+g(%rip), %eax
	movl	32+j(%rip), %edx
	cmpl	%edx, %eax
	jg	.L114
	addl	$1, %r14d
	jmp	.L113
.L134:
	movl	32+g(%rip), %eax
	movl	28+j(%rip), %edx
	cmpl	%edx, %eax
	jg	.L43
	addl	$1, %r14d
	jmp	.L42
.L133:
	movl	32+g(%rip), %eax
	movl	24+j(%rip), %edx
	cmpl	%edx, %eax
	jg	.L41
	addl	$1, %r14d
	jmp	.L40
.L132:
	movl	32+g(%rip), %eax
	movl	20+j(%rip), %edx
	cmpl	%edx, %eax
	jg	.L39
	addl	$1, %r14d
	jmp	.L38
.L131:
	movl	32+g(%rip), %eax
	movl	16+j(%rip), %edx
	cmpl	%edx, %eax
	jg	.L37
	addl	$1, %r14d
	jmp	.L36
.L130:
	movl	32+g(%rip), %eax
	movl	12+j(%rip), %edx
	cmpl	%edx, %eax
	jg	.L35
	addl	$1, %r14d
	jmp	.L34
.L128:
	movl	32+g(%rip), %eax
	movl	4+j(%rip), %edx
	cmpl	%edx, %eax
	jg	.L31
	addl	$1, %r14d
	jmp	.L30
.L129:
	movl	32+g(%rip), %eax
	movl	8+j(%rip), %edx
	cmpl	%edx, %eax
	jg	.L33
	addl	$1, %r14d
	jmp	.L32
.L127:
	movl	32+g(%rip), %eax
	movl	j(%rip), %edx
	cmpl	%edx, %eax
	jle	.L29
	addl	%esi, %eax
	xorl	%r14d, %r14d
	addl	%edx, %eax
	cmpl	$85, %eax
	setg	%r14b
	jmp	.L29
.L126:
	addl	%r15d, %eax
	addl	%edx, %eax
	cmpl	$85, %eax
	setg	%al
	movzbl	%al, %eax
	addl	%eax, %r14d
	jmp	.L18
.L125:
	addl	%r15d, %eax
	addl	%edx, %eax
	cmpl	$85, %eax
	setg	%al
	movzbl	%al, %eax
	addl	%eax, %r14d
	jmp	.L17
.L124:
	addl	%r15d, %eax
	addl	%edx, %eax
	cmpl	$85, %eax
	setg	%al
	movzbl	%al, %eax
	addl	%eax, %r14d
	jmp	.L16
.L123:
	addl	%r15d, %eax
	addl	%edx, %eax
	cmpl	$85, %eax
	setg	%al
	movzbl	%al, %eax
	addl	%eax, %r14d
	jmp	.L15
.L122:
	addl	%r15d, %eax
	addl	%edx, %eax
	cmpl	$85, %eax
	setg	%al
	movzbl	%al, %eax
	addl	%eax, %r14d
	jmp	.L14
.L121:
	addl	%r15d, %eax
	addl	%edx, %eax
	cmpl	$85, %eax
	setg	%al
	movzbl	%al, %eax
	addl	%eax, %r14d
	jmp	.L13
.L120:
	addl	%r15d, %eax
	addl	%edx, %eax
	cmpl	$85, %eax
	setg	%al
	movzbl	%al, %eax
	addl	%eax, %r14d
	jmp	.L12
.L119:
	addl	%esi, %eax
	xorl	%r14d, %r14d
	addl	%edx, %eax
	cmpl	$85, %eax
	setg	%r14b
	jmp	.L11
.L43:
	addl	%r15d, %eax
	addl	%edx, %eax
	cmpl	$85, %eax
	setg	%al
	movzbl	%al, %eax
	addl	%eax, %r14d
	jmp	.L42
.L41:
	addl	%r15d, %eax
	addl	%edx, %eax
	cmpl	$85, %eax
	setg	%al
	movzbl	%al, %eax
	addl	%eax, %r14d
	jmp	.L40
.L39:
	addl	%r15d, %eax
	addl	%edx, %eax
	cmpl	$85, %eax
	setg	%al
	movzbl	%al, %eax
	addl	%eax, %r14d
	jmp	.L38
.L37:
	addl	%r15d, %eax
	addl	%edx, %eax
	cmpl	$85, %eax
	setg	%al
	movzbl	%al, %eax
	addl	%eax, %r14d
	jmp	.L36
.L31:
	addl	%r15d, %eax
	addl	%edx, %eax
	cmpl	$85, %eax
	setg	%al
	movzbl	%al, %eax
	addl	%eax, %r14d
	jmp	.L30
.L35:
	addl	%r15d, %eax
	addl	%edx, %eax
	cmpl	$85, %eax
	setg	%al
	movzbl	%al, %eax
	addl	%eax, %r14d
	jmp	.L34
.L33:
	addl	%r15d, %eax
	addl	%edx, %eax
	cmpl	$85, %eax
	setg	%al
	movzbl	%al, %eax
	addl	%eax, %r14d
	jmp	.L32
	.cfi_endproc
.LFE37:
	.size	rec.part.0, .-rec.part.0
	.p2align 4
	.globl	rec
	.type	rec, @function
rec:
.LFB35:
	.cfi_startproc
	endbr64
	cmpl	$9, %edi
	je	.L139
	movslq	%edi, %rax
	movslq	%esi, %r8
	leaq	f(%rip), %r9
	movslq	%edx, %rcx
	leaq	(%rax,%rax,8), %r10
	leaq	(%rax,%r10,2), %rax
	leaq	(%rax,%rax,8), %rax
	addq	%r8, %rax
	salq	$9, %rax
	addq	%rcx, %rax
	movl	(%r9,%rax,4), %r8d
	testl	%r8d, %r8d
	jns	.L135
	cmpl	$85, %esi
	jg	.L140
	jmp	rec.part.0
	.p2align 4,,10
	.p2align 3
.L139:
	xorl	%r8d, %r8d
	cmpl	$85, %esi
	setg	%r8b
.L135:
	movl	%r8d, %eax
	ret
	.p2align 4,,10
	.p2align 3
.L140:
	movl	$9, %edx
	leaq	p(%rip), %rcx
	subl	%edi, %edx
	movslq	%edx, %rdx
	movl	(%rcx,%rdx,4), %r8d
	movl	%r8d, (%r9,%rax,4)
	movl	%r8d, %eax
	ret
	.cfi_endproc
.LFE35:
	.size	rec, .-rec
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC3:
	.string	"%d"
.LC5:
	.string	"%.15lf %.15lf\n"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB36:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	leaq	.LC3(%rip), %rdi
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	leaq	36+j(%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	$184, %rsp
	.cfi_def_cfa_offset 240
	movdqa	.LC0(%rip), %xmm0
	movq	%fs:40, %rax
	movq	%rax, 168(%rsp)
	xorl	%eax, %eax
	movq	.LC2(%rip), %rax
	leaq	164(%rsp), %rsi
	movaps	%xmm0, p(%rip)
	movdqa	.LC1(%rip), %xmm0
	movq	%rax, 32+p(%rip)
	xorl	%eax, %eax
	movaps	%xmm0, 16+p(%rip)
	call	__isoc99_scanf@PLT
	movl	164(%rsp), %eax
	leal	-1(%rax), %edx
	movl	%edx, 164(%rsp)
	testl	%eax, %eax
	jle	.L237
	.p2align 4,,10
	.p2align 3
.L142:
	leaq	g(%rip), %rbx
	.p2align 4,,10
	.p2align 3
.L143:
	movq	%rbx, %rsi
	leaq	.LC3(%rip), %rdi
	xorl	%eax, %eax
	addq	$4, %rbx
	call	__isoc99_scanf@PLT
	leaq	36+g(%rip), %rax
	cmpq	%rbx, %rax
	jne	.L143
	leaq	j(%rip), %rbx
	.p2align 4,,10
	.p2align 3
.L144:
	movq	%rbx, %rsi
	leaq	.LC3(%rip), %rdi
	xorl	%eax, %eax
	addq	$4, %rbx
	call	__isoc99_scanf@PLT
	cmpq	%rbx, %r13
	jne	.L144
	movl	$3502080, %edx
	movl	$-1, %esi
	leaq	f(%rip), %rdi
	call	memset@PLT
	pxor	%xmm0, %xmm0
	movsd	.LC4(%rip), %xmm1
	leaq	j(%rip), %rax
	cvtsi2sdl	36+p(%rip), %xmm0
	movq	%rax, 8(%rsp)
	movl	$0, 76(%rsp)
	movl	$1, 28(%rsp)
	divsd	%xmm0, %xmm1
	.p2align 4,,10
	.p2align 3
.L236:
	movl	28(%rsp), %edi
	testl	$511, %edi
	je	.L145
	leaq	g(%rip), %rax
	xorl	$511, %edi
	movl	(%rax), %edx
	movq	8(%rsp), %rax
	movl	%edi, 24(%rsp)
	movl	(%rax), %eax
	cmpl	%eax, %edx
	jle	.L146
	leal	(%rdx,%rax), %ecx
	movslq	%edi, %rdi
	leaq	f(%rip), %rdx
	movslq	%ecx, %rax
	movl	%ecx, 72(%rsp)
	movq	%rax, 56(%rsp)
	salq	$9, %rax
	movq	%rax, 32(%rsp)
	leaq	87552(%rax,%rdi), %rax
	movl	(%rdx,%rax,4), %ebx
	movq	%rdi, 96(%rsp)
	movl	%ebx, (%rsp)
	testl	%ebx, %ebx
	jns	.L147
	cmpl	$85, %ecx
	jg	.L326
	movl	$0, (%rsp)
	leaq	j(%rip), %rbx
	movl	$1, %r11d
	movq	%rbx, %r10
	.p2align 4,,10
	.p2align 3
.L148:
	movl	24(%rsp), %esi
	testl	%r11d, %esi
	je	.L149
	movl	4+g(%rip), %eax
	movl	(%r10), %edx
	xorl	%r11d, %esi
	movl	%esi, %r9d
	cmpl	%edx, %eax
	jle	.L150
	addl	72(%rsp), %eax
	movslq	%esi, %rbx
	leaq	f(%rip), %rsi
	leal	(%rax,%rdx), %ecx
	movq	%rbx, 40(%rsp)
	movslq	%ecx, %rax
	movl	%ecx, 48(%rsp)
	movq	%rax, 64(%rsp)
	salq	$9, %rax
	movq	%rax, 16(%rsp)
	leaq	175104(%rax,%rbx), %rax
	movl	(%rsi,%rax,4), %r8d
	testl	%r8d, %r8d
	jns	.L151
	cmpl	$85, %ecx
	jg	.L327
	movq	%r10, 112(%rsp)
	xorl	%r8d, %r8d
	leaq	j(%rip), %rbp
	movl	$1, %ebx
	movl	%r11d, 104(%rsp)
	movl	%r8d, %r11d
	.p2align 4,,10
	.p2align 3
.L152:
	testl	%r9d, %ebx
	je	.L153
	movl	8+g(%rip), %r14d
	movl	0(%rbp), %eax
	movl	%ebx, %r12d
	xorl	%r9d, %r12d
	cmpl	%eax, %r14d
	jle	.L154
	addl	48(%rsp), %r14d
	movslq	%r12d, %r10
	leaq	f(%rip), %rdx
	addl	%eax, %r14d
	movslq	%r14d, %rax
	movq	%rax, 88(%rsp)
	salq	$9, %rax
	movq	%rax, 80(%rsp)
	leaq	262656(%rax,%r10), %rax
	movl	(%rdx,%rax,4), %r8d
	testl	%r8d, %r8d
	jns	.L155
	cmpl	$85, %r14d
	jg	.L328
	leaq	j(%rip), %rcx
	movl	%r11d, 144(%rsp)
	xorl	%r8d, %r8d
	movl	$1, %r15d
	movq	%rbp, 120(%rsp)
	movq	%rcx, %rbp
	movl	%ebx, 128(%rsp)
	movl	%r8d, %ebx
	movq	%r10, 136(%rsp)
	movl	%r14d, %r10d
	movl	%r9d, %r14d
	.p2align 4,,10
	.p2align 3
.L156:
	testl	%r12d, %r15d
	je	.L157
	movl	12+g(%rip), %eax
	movl	0(%rbp), %esi
	movl	%r15d, %edx
	xorl	%r12d, %edx
	cmpl	%esi, %eax
	jle	.L158
	addl	%r10d, %eax
	movslq	%edx, %rdi
	addl	%eax, %esi
	movslq	%esi, %rax
	salq	$9, %rax
	leaq	350208(%rdi,%rax), %rdi
	leaq	f(%rip), %rax
	movl	(%rax,%rdi,4), %eax
	testl	%eax, %eax
	jns	.L161
	cmpl	$85, %esi
	jg	.L329
.L322:
	movl	$4, %edi
	movl	%r10d, 148(%rsp)
	call	rec.part.0
	movl	148(%rsp), %r10d
.L161:
	addl	%eax, %ebx
.L157:
	addq	$4, %rbp
	addl	%r15d, %r15d
	cmpq	%rbp, %r13
	jne	.L156
	movq	88(%rsp), %rax
	movl	%ebx, %r8d
	movq	120(%rsp), %rbp
	movl	%r14d, %r9d
	movq	136(%rsp), %r10
	leaq	f(%rip), %rcx
	movl	144(%rsp), %r11d
	salq	$9, %rax
	movl	128(%rsp), %ebx
	leaq	262656(%rax,%r10), %rax
	movl	%r8d, (%rcx,%rax,4)
.L155:
	addl	%r8d, %r11d
.L153:
	addq	$4, %rbp
	addl	%ebx, %ebx
	cmpq	%r13, %rbp
	jne	.L152
	movq	64(%rsp), %rax
	movq	40(%rsp), %rbx
	movl	%r11d, %r8d
	leaq	f(%rip), %rcx
	movl	104(%rsp), %r11d
	movq	112(%rsp), %r10
	salq	$9, %rax
	leaq	175104(%rax,%rbx), %rax
	movl	%r8d, (%rcx,%rax,4)
.L151:
	addl	%r8d, (%rsp)
.L149:
	addq	$4, %r10
	addl	%r11d, %r11d
	cmpq	%r10, %r13
	jne	.L148
	movq	56(%rsp), %rax
	movq	96(%rsp), %rsi
	leaq	f(%rip), %rcx
	movl	(%rsp), %edi
	salq	$9, %rax
	leaq	87552(%rax,%rsi), %rax
	movl	%edi, (%rcx,%rax,4)
.L147:
	movl	(%rsp), %ecx
	addl	%ecx, 76(%rsp)
.L145:
	addq	$4, 8(%rsp)
	movq	8(%rsp), %rax
	sall	28(%rsp)
	cmpq	%rax, %r13
	jne	.L236
	movl	76(%rsp), %eax
	pxor	%xmm0, %xmm0
	movl	$1, %edi
	leaq	.LC5(%rip), %rsi
	cvtsi2sdl	%eax, %xmm0
	movl	%eax, 2044+f(%rip)
	movl	$2, %eax
	mulsd	%xmm1, %xmm0
	movsd	.LC4(%rip), %xmm1
	subsd	%xmm0, %xmm1
	call	__printf_chk@PLT
	movl	164(%rsp), %eax
	leal	-1(%rax), %edx
	movl	%edx, 164(%rsp)
	testl	%eax, %eax
	jg	.L142
.L237:
	movq	168(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L330
	addq	$184, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	xorl	%eax, %eax
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L146:
	.cfi_restore_state
	movslq	24(%rsp), %rax
	leaq	f(%rip), %rdi
	movq	%rax, 96(%rsp)
	movl	350208(%rdi,%rax,4), %eax
	movl	%eax, 48(%rsp)
	testl	%eax, %eax
	jns	.L187
	leaq	j(%rip), %rax
	movl	$0, 48(%rsp)
	movq	%rax, (%rsp)
	movl	$1, 16(%rsp)
	.p2align 4,,10
	.p2align 3
.L235:
	movl	16(%rsp), %ecx
	movl	24(%rsp), %edi
	testl	%edi, %ecx
	je	.L188
	movq	(%rsp), %rax
	movl	4+g(%rip), %edx
	xorl	%edi, %ecx
	movl	%ecx, 32(%rsp)
	movl	(%rax), %eax
	cmpl	%eax, %edx
	jle	.L189
	leal	(%rdx,%rax), %r10d
	movslq	%ecx, %rdx
	leaq	f(%rip), %rbx
	movslq	%r10d, %rax
	movq	%rdx, 88(%rsp)
	movq	%rax, %r9
	movq	%rax, 40(%rsp)
	salq	$9, %r9
	leaq	175104(%r9,%rdx), %rax
	movl	(%rbx,%rax,4), %r11d
	testl	%r11d, %r11d
	jns	.L190
	cmpl	$85, %r10d
	jg	.L331
	movl	%r10d, 72(%rsp)
	movl	32(%rsp), %r10d
	xorl	%r11d, %r11d
	leaq	j(%rip), %rbp
	movq	%r9, 32(%rsp)
	movl	$1, %ebx
	.p2align 4,,10
	.p2align 3
.L191:
	testl	%r10d, %ebx
	je	.L192
	movl	8+g(%rip), %r14d
	movl	0(%rbp), %eax
	movl	%ebx, %r12d
	xorl	%r10d, %r12d
	cmpl	%eax, %r14d
	jle	.L193
	addl	72(%rsp), %r14d
	movslq	%r12d, %r9
	leaq	f(%rip), %rcx
	addl	%eax, %r14d
	movslq	%r14d, %rax
	movq	%rax, 64(%rsp)
	salq	$9, %rax
	movq	%rax, 56(%rsp)
	leaq	262656(%rax,%r9), %rax
	movl	(%rcx,%rax,4), %r8d
	testl	%r8d, %r8d
	jns	.L194
	cmpl	$85, %r14d
	jg	.L332
	movl	%r11d, 112(%rsp)
	movl	$1, %r15d
	leaq	j(%rip), %rcx
	xorl	%r8d, %r8d
	movl	%r10d, 120(%rsp)
	movq	%r9, 128(%rsp)
	movq	%rbp, 80(%rsp)
	movl	%r8d, %ebp
	movl	%ebx, 104(%rsp)
	movl	%r15d, %ebx
	movl	%r12d, %r15d
	movl	%r14d, %r12d
	movq	%rcx, %r14
	.p2align 4,,10
	.p2align 3
.L195:
	testl	%r15d, %ebx
	je	.L196
	movl	12+g(%rip), %eax
	movl	(%r14), %esi
	movl	%ebx, %edx
	xorl	%r15d, %edx
	cmpl	%esi, %eax
	jle	.L197
	addl	%r12d, %eax
	movslq	%edx, %rdi
	addl	%eax, %esi
	movslq	%esi, %rax
	salq	$9, %rax
	leaq	350208(%rdi,%rax), %rdi
	leaq	f(%rip), %rax
	movl	(%rax,%rdi,4), %eax
	testl	%eax, %eax
	jns	.L200
	cmpl	$85, %esi
	jg	.L333
.L324:
	movl	$4, %edi
	call	rec.part.0
.L200:
	addl	%eax, %ebp
.L196:
	addq	$4, %r14
	addl	%ebx, %ebx
	cmpq	%r14, %r13
	jne	.L195
	movq	64(%rsp), %rax
	movl	%ebp, %r8d
	movl	104(%rsp), %ebx
	leaq	f(%rip), %rsi
	movq	128(%rsp), %r9
	movl	112(%rsp), %r11d
	salq	$9, %rax
	movq	80(%rsp), %rbp
	movl	120(%rsp), %r10d
	leaq	262656(%rax,%r9), %rax
	movl	%r8d, (%rsi,%rax,4)
.L194:
	addl	%r8d, %r11d
.L192:
	addq	$4, %rbp
	addl	%ebx, %ebx
	cmpq	%r13, %rbp
	jne	.L191
	movq	40(%rsp), %rax
	movq	88(%rsp), %rbx
	salq	$9, %rax
	leaq	175104(%rax,%rbx), %rax
	leaq	f(%rip), %rbx
	movl	%r11d, (%rbx,%rax,4)
.L190:
	addl	%r11d, 48(%rsp)
.L188:
	addq	$4, (%rsp)
	movq	(%rsp), %rax
	sall	16(%rsp)
	cmpq	%rax, %r13
	jne	.L235
	movq	96(%rsp), %rbx
	movl	48(%rsp), %edx
	leaq	f(%rip), %rax
	movl	%edx, 350208(%rax,%rbx,4)
.L187:
	movl	48(%rsp), %esi
	addl	%esi, 76(%rsp)
	jmp	.L145
	.p2align 4,,10
	.p2align 3
.L189:
	movslq	32(%rsp), %rax
	leaq	f(%rip), %rdi
	movq	%rax, 88(%rsp)
	movl	700416(%rdi,%rax,4), %eax
	movl	%eax, 40(%rsp)
	testl	%eax, %eax
	jns	.L208
	movl	$0, 40(%rsp)
	leaq	j(%rip), %r10
	movl	$1, %r15d
	movq	%r10, %r14
	.p2align 4,,10
	.p2align 3
.L234:
	movl	32(%rsp), %esi
	testl	%r15d, %esi
	je	.L209
	movl	8+g(%rip), %r12d
	movl	(%r14), %eax
	xorl	%r15d, %esi
	cmpl	%eax, %r12d
	jle	.L210
	addl	%eax, %r12d
	movslq	%esi, %rax
	leaq	f(%rip), %rbx
	movslq	%r12d, %r10
	movq	%rax, 80(%rsp)
	movq	%r10, %rcx
	salq	$9, %rcx
	leaq	262656(%rcx,%rax), %rax
	movl	(%rbx,%rax,4), %r8d
	testl	%r8d, %r8d
	jns	.L211
	cmpl	$85, %r12d
	jg	.L334
	xorl	%r8d, %r8d
	movl	%r15d, 72(%rsp)
	movl	%esi, %r15d
	leaq	j(%rip), %rbp
	movq	%r14, 56(%rsp)
	movl	$1, %ebx
	movl	%r12d, %r14d
	movl	%r8d, %r12d
	movq	%r10, 64(%rsp)
	jmp	.L212
	.p2align 4,,10
	.p2align 3
.L337:
	addl	%r14d, %eax
	leal	(%rax,%rdx), %esi
	movslq	%r11d, %rdx
	movslq	%esi, %rax
	salq	$9, %rax
	leaq	350208(%rdx,%rax), %rdx
	leaq	f(%rip), %rax
	movl	(%rax,%rdx,4), %eax
	testl	%eax, %eax
	jns	.L217
	cmpl	$85, %esi
	jg	.L335
	movl	%r11d, %edx
	movl	$4, %edi
	movq	%rcx, 104(%rsp)
	call	rec.part.0
	movq	104(%rsp), %rcx
	.p2align 4,,10
	.p2align 3
.L217:
	addl	%eax, %r12d
.L213:
	addq	$4, %rbp
	addl	%ebx, %ebx
	cmpq	%rbp, %r13
	je	.L336
.L212:
	testl	%r15d, %ebx
	je	.L213
	movl	12+g(%rip), %eax
	movl	0(%rbp), %edx
	movl	%ebx, %r11d
	xorl	%r15d, %r11d
	cmpl	%edx, %eax
	jg	.L337
	movslq	%r11d, %rax
	leaq	f(%rip), %rdi
	leaq	350208(%rcx,%rax), %rax
	movl	(%rdi,%rax,4), %eax
	testl	%eax, %eax
	jns	.L217
	movl	%r11d, %edx
	movl	%r14d, %esi
	movl	$4, %edi
	movq	%rcx, 104(%rsp)
	call	rec.part.0
	movq	104(%rsp), %rcx
	jmp	.L217
	.p2align 4,,10
	.p2align 3
.L339:
	movq	80(%rsp), %rbx
	movl	72(%rsp), %esi
	leaq	f(%rip), %rax
	movl	148(%rsp), %r15d
	movq	152(%rsp), %r14
	movl	%esi, 1050624(%rax,%rbx,4)
.L218:
	movl	72(%rsp), %esi
	addl	%esi, 40(%rsp)
.L209:
	addq	$4, %r14
	addl	%r15d, %r15d
	cmpq	%r14, %r13
	jne	.L234
.L346:
	movq	88(%rsp), %rbx
	movl	40(%rsp), %edi
	leaq	f(%rip), %rax
	movl	%edi, 700416(%rax,%rbx,4)
.L208:
	movl	40(%rsp), %esi
	addl	%esi, 48(%rsp)
	jmp	.L188
	.p2align 4,,10
	.p2align 3
.L210:
	movslq	%esi, %rax
	leaq	f(%rip), %rdi
	movq	%rax, 80(%rsp)
	movl	1050624(%rdi,%rax,4), %eax
	movl	%eax, 72(%rsp)
	testl	%eax, %eax
	jns	.L218
	movl	$1, %r11d
	movl	%r15d, 148(%rsp)
	leaq	j(%rip), %r10
	movl	$0, 72(%rsp)
	movl	%r11d, %r15d
	movq	%r14, 152(%rsp)
	movl	%esi, 56(%rsp)
	jmp	.L233
	.p2align 4,,10
	.p2align 3
.L340:
	leal	(%rdx,%rax), %esi
	movslq	%ecx, %rdx
	movslq	%esi, %rax
	salq	$9, %rax
	leaq	350208(%rdx,%rax), %rdx
	leaq	f(%rip), %rax
	movl	(%rax,%rdx,4), %eax
	testl	%eax, %eax
	jns	.L221
	cmpl	$85, %esi
	jg	.L338
	movl	%ecx, %edx
	movl	$4, %edi
	movq	%r10, 64(%rsp)
	call	rec.part.0
	movq	64(%rsp), %r10
.L221:
	addl	%eax, 72(%rsp)
.L219:
	addq	$4, %r10
	addl	%r15d, %r15d
	cmpq	%r10, %r13
	je	.L339
.L233:
	movl	56(%rsp), %ecx
	testl	%r15d, %ecx
	je	.L219
	movl	12+g(%rip), %edx
	movl	(%r10), %eax
	xorl	%r15d, %ecx
	cmpl	%eax, %edx
	jg	.L340
	movslq	%ecx, %rax
	leaq	f(%rip), %rsi
	movl	1400832(%rsi,%rax,4), %r11d
	movq	%rax, 112(%rsp)
	testl	%r11d, %r11d
	jns	.L223
	movl	$1, %r12d
	xorl	%r11d, %r11d
	movl	%r15d, 144(%rsp)
	leaq	j(%rip), %r14
	movl	%r12d, %r15d
	movl	%r11d, 64(%rsp)
	movl	%ecx, %r12d
	movq	%r10, 136(%rsp)
	jmp	.L232
	.p2align 4,,10
	.p2align 3
.L343:
	leal	(%rdx,%rax), %esi
	movslq	%r10d, %rdx
	movslq	%esi, %rax
	salq	$9, %rax
	leaq	437760(%rdx,%rax), %rdx
	leaq	f(%rip), %rax
	movl	(%rax,%rdx,4), %eax
	testl	%eax, %eax
	jns	.L226
	cmpl	$85, %esi
	jg	.L341
	movl	%r10d, %edx
	movl	$5, %edi
	call	rec.part.0
.L226:
	addl	%eax, 64(%rsp)
.L224:
	addq	$4, %r14
	addl	%r15d, %r15d
	cmpq	%r14, %r13
	je	.L342
.L232:
	testl	%r12d, %r15d
	je	.L224
	movl	16+g(%rip), %edx
	movl	(%r14), %eax
	movl	%r15d, %r10d
	xorl	%r12d, %r10d
	cmpl	%eax, %edx
	jg	.L343
	movslq	%r10d, %rax
	leaq	f(%rip), %rdi
	movl	1751040(%rdi,%rax,4), %r11d
	movq	%rax, 104(%rsp)
	testl	%r11d, %r11d
	jns	.L228
	xorl	%r11d, %r11d
	movq	%r14, 120(%rsp)
	movl	%r10d, %r14d
	leaq	j(%rip), %rbp
	movl	%r12d, 128(%rsp)
	movl	$1, %ebx
	movl	%r11d, %r12d
	jmp	.L231
	.p2align 4,,10
	.p2align 3
.L345:
	addl	%eax, %esi
	movl	$6, %edi
	call	rec
	addl	%eax, %r12d
.L229:
	addq	$4, %rbp
	addl	%ebx, %ebx
	cmpq	%rbp, %r13
	je	.L344
.L231:
	testl	%r14d, %ebx
	je	.L229
	movl	20+g(%rip), %esi
	movl	0(%rbp), %eax
	movl	%ebx, %edx
	xorl	%r14d, %edx
	cmpl	%eax, %esi
	jg	.L345
	xorl	%esi, %esi
	movl	$6, %edi
	addq	$4, %rbp
	addl	%ebx, %ebx
	call	rec
	addl	%eax, %r12d
	cmpq	%rbp, %r13
	jne	.L231
.L344:
	movq	104(%rsp), %rsi
	movl	%r12d, %r11d
	movq	120(%rsp), %r14
	leaq	f(%rip), %rax
	movl	128(%rsp), %r12d
	movl	%r11d, 1751040(%rax,%rsi,4)
.L228:
	addq	$4, %r14
	addl	%r11d, 64(%rsp)
	addl	%r15d, %r15d
	cmpq	%r14, %r13
	jne	.L232
.L342:
	movl	64(%rsp), %r11d
	movq	112(%rsp), %rdi
	leaq	f(%rip), %rax
	movl	144(%rsp), %r15d
	movq	136(%rsp), %r10
	movl	%r11d, 1400832(%rax,%rdi,4)
.L223:
	addl	%r11d, 72(%rsp)
	jmp	.L219
	.p2align 4,,10
	.p2align 3
.L336:
	movq	64(%rsp), %rax
	movq	80(%rsp), %rbx
	movl	%r12d, %r8d
	leaq	f(%rip), %rsi
	movl	72(%rsp), %r15d
	movq	56(%rsp), %r14
	salq	$9, %rax
	leaq	262656(%rax,%rbx), %rax
	movl	%r12d, (%rsi,%rax,4)
.L211:
	addl	%r8d, 40(%rsp)
.L355:
	addq	$4, %r14
	addl	%r15d, %r15d
	cmpq	%r14, %r13
	jne	.L234
	jmp	.L346
	.p2align 4,,10
	.p2align 3
.L193:
	movq	32(%rsp), %rax
	movslq	%r12d, %r9
	leaq	f(%rip), %rcx
	leaq	262656(%rax,%r9), %rax
	movl	(%rcx,%rax,4), %ecx
	testl	%ecx, %ecx
	jns	.L201
	xorl	%ecx, %ecx
	movl	%ebx, 56(%rsp)
	leaq	j(%rip), %r15
	movl	$1, %r14d
	movl	%ecx, %ebx
	.p2align 4,,10
	.p2align 3
.L207:
	testl	%r12d, %r14d
	je	.L202
	movl	12+g(%rip), %eax
	movl	(%r15), %esi
	movl	%r14d, %edx
	xorl	%r12d, %edx
	cmpl	%esi, %eax
	jle	.L203
	addl	72(%rsp), %eax
	movslq	%edx, %rdi
	addl	%eax, %esi
	movslq	%esi, %rax
	salq	$9, %rax
	leaq	350208(%rdi,%rax), %rdi
	leaq	f(%rip), %rax
	movl	(%rax,%rdi,4), %eax
	testl	%eax, %eax
	jns	.L206
	cmpl	$85, %esi
	jg	.L347
	movq	%r9, 104(%rsp)
	movl	%r10d, 80(%rsp)
	movl	%r11d, 64(%rsp)
.L325:
	movl	$4, %edi
	call	rec.part.0
	movq	104(%rsp), %r9
	movl	80(%rsp), %r10d
	movl	64(%rsp), %r11d
.L206:
	addl	%eax, %ebx
.L202:
	addq	$4, %r15
	addl	%r14d, %r14d
	cmpq	%r15, %r13
	jne	.L207
	movq	32(%rsp), %rax
	movl	%ebx, %ecx
	leaq	f(%rip), %rdi
	movl	56(%rsp), %ebx
	leaq	262656(%rax,%r9), %rax
	movl	%ecx, (%rdi,%rax,4)
.L201:
	addl	%ecx, %r11d
	jmp	.L192
	.p2align 4,,10
	.p2align 3
.L150:
	movq	32(%rsp), %rdi
	movslq	%esi, %rax
	leaq	f(%rip), %rbx
	movq	%rax, 40(%rsp)
	leaq	175104(%rdi,%rax), %rax
	movl	(%rbx,%rax,4), %eax
	movl	%eax, 16(%rsp)
	testl	%eax, %eax
	jns	.L169
	movl	$0, 16(%rsp)
	leaq	j(%rip), %rbp
	movl	$1, %ebx
	movl	%r11d, 64(%rsp)
	movq	%r10, 80(%rsp)
	.p2align 4,,10
	.p2align 3
.L186:
	testl	%r9d, %ebx
	je	.L170
	movl	8+g(%rip), %r14d
	movl	0(%rbp), %eax
	movl	%ebx, %r12d
	xorl	%r9d, %r12d
	cmpl	%eax, %r14d
	jle	.L171
	addl	72(%rsp), %r14d
	movslq	%r12d, %r10
	leaq	f(%rip), %rcx
	addl	%eax, %r14d
	movslq	%r14d, %rax
	movq	%rax, %r11
	movq	%rax, 48(%rsp)
	salq	$9, %r11
	leaq	262656(%r11,%r10), %rax
	movl	(%rcx,%rax,4), %r8d
	testl	%r8d, %r8d
	jns	.L172
	cmpl	$85, %r14d
	jg	.L348
	leaq	j(%rip), %rcx
	xorl	%r8d, %r8d
	movl	%ebx, 88(%rsp)
	movl	$1, %r15d
	movq	%rbp, 104(%rsp)
	movl	%r14d, %ebx
	movl	%r12d, %ebp
	movq	%r11, %r14
	movq	%r10, 120(%rsp)
	movq	%rcx, %r12
	movl	%r8d, %r10d
	movl	%r9d, 112(%rsp)
	jmp	.L173
	.p2align 4,,10
	.p2align 3
.L351:
	addl	%ebx, %eax
	movslq	%edx, %rdi
	addl	%eax, %esi
	movslq	%esi, %rax
	salq	$9, %rax
	leaq	350208(%rdi,%rax), %rdi
	leaq	f(%rip), %rax
	movl	(%rax,%rdi,4), %eax
	testl	%eax, %eax
	jns	.L178
	cmpl	$85, %esi
	jg	.L349
	movl	$4, %edi
	movl	%r10d, 128(%rsp)
	call	rec.part.0
	movl	128(%rsp), %r10d
	.p2align 4,,10
	.p2align 3
.L178:
	addl	%eax, %r10d
.L174:
	addq	$4, %r12
	addl	%r15d, %r15d
	cmpq	%r12, %r13
	je	.L350
.L173:
	testl	%ebp, %r15d
	je	.L174
	movl	12+g(%rip), %eax
	movl	(%r12), %esi
	movl	%r15d, %edx
	xorl	%ebp, %edx
	cmpl	%esi, %eax
	jg	.L351
	movslq	%edx, %rax
	leaq	f(%rip), %rdi
	leaq	350208(%r14,%rax), %rax
	movl	(%rdi,%rax,4), %eax
	testl	%eax, %eax
	jns	.L178
	movl	%ebx, %esi
	movl	$4, %edi
	movl	%r10d, 128(%rsp)
	call	rec.part.0
	movl	128(%rsp), %r10d
	jmp	.L178
	.p2align 4,,10
	.p2align 3
.L171:
	movq	32(%rsp), %rax
	movslq	%r12d, %r10
	leaq	f(%rip), %rdi
	leaq	262656(%rax,%r10), %rax
	movl	(%rdi,%rax,4), %ecx
	testl	%ecx, %ecx
	jns	.L179
	xorl	%ecx, %ecx
	movq	%rbp, 48(%rsp)
	movl	%ebx, %ebp
	leaq	j(%rip), %r15
	movl	$1, %r14d
	movl	%ecx, %ebx
	.p2align 4,,10
	.p2align 3
.L185:
	testl	%r12d, %r14d
	je	.L180
	movl	12+g(%rip), %eax
	movl	(%r15), %edx
	movl	%r14d, %r8d
	xorl	%r12d, %r8d
	cmpl	%edx, %eax
	jle	.L181
	addl	72(%rsp), %eax
	leal	(%rax,%rdx), %esi
	movslq	%r8d, %rdx
	movslq	%esi, %rax
	salq	$9, %rax
	leaq	350208(%rdx,%rax), %rdx
	leaq	f(%rip), %rax
	movl	(%rax,%rdx,4), %eax
	testl	%eax, %eax
	jns	.L184
	cmpl	$85, %esi
	jg	.L352
	movl	%r8d, %edx
	movl	$4, %edi
	movq	%r10, 104(%rsp)
	movl	%r9d, 88(%rsp)
	call	rec.part.0
	movq	104(%rsp), %r10
	movl	88(%rsp), %r9d
	.p2align 4,,10
	.p2align 3
.L184:
	addl	%eax, %ebx
.L180:
	addq	$4, %r15
	addl	%r14d, %r14d
	cmpq	%r15, %r13
	jne	.L185
	movq	32(%rsp), %rax
	movl	%ebx, %ecx
	leaq	f(%rip), %rdi
	movl	%ebp, %ebx
	movq	48(%rsp), %rbp
	leaq	262656(%rax,%r10), %rax
	movl	%ecx, (%rdi,%rax,4)
.L179:
	addl	%ecx, 16(%rsp)
.L170:
	addq	$4, %rbp
	addl	%ebx, %ebx
	cmpq	%rbp, %r13
	jne	.L186
.L354:
	movq	32(%rsp), %rax
	movq	40(%rsp), %rbx
	leaq	f(%rip), %rsi
	movl	16(%rsp), %ecx
	movl	64(%rsp), %r11d
	leaq	175104(%rax,%rbx), %rax
	movq	80(%rsp), %r10
	movl	%ecx, (%rsi,%rax,4)
.L169:
	movl	16(%rsp), %ecx
	addl	%ecx, (%rsp)
	jmp	.L149
	.p2align 4,,10
	.p2align 3
.L203:
	movq	32(%rsp), %rsi
	movslq	%edx, %rax
	leaq	f(%rip), %rcx
	leaq	350208(%rsi,%rax), %rax
	movl	(%rcx,%rax,4), %eax
	testl	%eax, %eax
	jns	.L206
	movq	%r9, 104(%rsp)
	movl	72(%rsp), %esi
	movl	%r10d, 80(%rsp)
	movl	%r11d, 64(%rsp)
	jmp	.L325
	.p2align 4,,10
	.p2align 3
.L197:
	movq	56(%rsp), %rcx
	movslq	%edx, %rax
	leaq	f(%rip), %rdi
	leaq	350208(%rcx,%rax), %rax
	movl	(%rdi,%rax,4), %eax
	testl	%eax, %eax
	jns	.L200
	movl	%r12d, %esi
	jmp	.L324
	.p2align 4,,10
	.p2align 3
.L154:
	movq	16(%rsp), %rax
	movslq	%r12d, %r10
	leaq	f(%rip), %rsi
	leaq	262656(%rax,%r10), %rax
	movl	(%rsi,%rax,4), %ecx
	testl	%ecx, %ecx
	jns	.L162
	xorl	%ecx, %ecx
	movl	%ebx, 80(%rsp)
	leaq	j(%rip), %r15
	movl	$1, %r14d
	movl	%ecx, %ebx
	.p2align 4,,10
	.p2align 3
.L168:
	testl	%r12d, %r14d
	je	.L163
	movl	12+g(%rip), %eax
	movl	(%r15), %esi
	movl	%r14d, %edx
	xorl	%r12d, %edx
	cmpl	%esi, %eax
	jle	.L164
	addl	48(%rsp), %eax
	movslq	%edx, %rdi
	addl	%eax, %esi
	movslq	%esi, %rax
	salq	$9, %rax
	leaq	350208(%rdi,%rax), %rdi
	leaq	f(%rip), %rax
	movl	(%rax,%rdi,4), %eax
	testl	%eax, %eax
	jns	.L167
	cmpl	$85, %esi
	jg	.L353
	movq	%r10, 128(%rsp)
	movl	%r9d, 120(%rsp)
	movl	%r11d, 88(%rsp)
.L323:
	movl	$4, %edi
	call	rec.part.0
	movl	120(%rsp), %r9d
	movl	88(%rsp), %r11d
	movq	128(%rsp), %r10
.L167:
	addl	%eax, %ebx
.L163:
	addq	$4, %r15
	addl	%r14d, %r14d
	cmpq	%r15, %r13
	jne	.L168
	movq	16(%rsp), %rax
	movl	%ebx, %ecx
	leaq	f(%rip), %rsi
	movl	80(%rsp), %ebx
	leaq	262656(%rax,%r10), %rax
	movl	%ecx, (%rsi,%rax,4)
.L162:
	addl	%ecx, %r11d
	jmp	.L153
	.p2align 4,,10
	.p2align 3
.L350:
	movq	48(%rsp), %rax
	movl	%r10d, %r8d
	movq	120(%rsp), %r10
	leaq	f(%rip), %rdx
	movl	88(%rsp), %ebx
	movq	104(%rsp), %rbp
	salq	$9, %rax
	movl	112(%rsp), %r9d
	leaq	262656(%rax,%r10), %rax
	movl	%r8d, (%rdx,%rax,4)
.L172:
	addl	%r8d, 16(%rsp)
.L356:
	addq	$4, %rbp
	addl	%ebx, %ebx
	cmpq	%rbp, %r13
	jne	.L186
	jmp	.L354
	.p2align 4,,10
	.p2align 3
.L164:
	movq	16(%rsp), %rsi
	movslq	%edx, %rax
	leaq	f(%rip), %rcx
	leaq	350208(%rsi,%rax), %rax
	movl	(%rcx,%rax,4), %eax
	testl	%eax, %eax
	jns	.L167
	movq	%r10, 128(%rsp)
	movl	48(%rsp), %esi
	movl	%r9d, 120(%rsp)
	movl	%r11d, 88(%rsp)
	jmp	.L323
	.p2align 4,,10
	.p2align 3
.L181:
	movq	32(%rsp), %rdx
	movslq	%r8d, %rax
	leaq	350208(%rdx,%rax), %rax
	leaq	f(%rip), %rdx
	movl	(%rdx,%rax,4), %eax
	testl	%eax, %eax
	jns	.L184
	movl	72(%rsp), %esi
	movl	%r8d, %edx
	movl	$4, %edi
	movq	%r10, 104(%rsp)
	movl	%r9d, 88(%rsp)
	call	rec.part.0
	movq	104(%rsp), %r10
	movl	88(%rsp), %r9d
	jmp	.L184
	.p2align 4,,10
	.p2align 3
.L158:
	movq	80(%rsp), %rcx
	movslq	%edx, %rax
	leaq	f(%rip), %rdi
	leaq	350208(%rcx,%rax), %rax
	movl	(%rdi,%rax,4), %eax
	testl	%eax, %eax
	jns	.L161
	movl	%r10d, %esi
	jmp	.L322
	.p2align 4,,10
	.p2align 3
.L341:
	movl	16+p(%rip), %eax
	leaq	f(%rip), %rdi
	movl	%eax, (%rdi,%rdx,4)
	jmp	.L226
	.p2align 4,,10
	.p2align 3
.L338:
	movl	20+p(%rip), %eax
	leaq	f(%rip), %rbx
	movl	%eax, (%rbx,%rdx,4)
	jmp	.L221
	.p2align 4,,10
	.p2align 3
.L334:
	movl	24+p(%rip), %r8d
	addl	%r8d, 40(%rsp)
	movl	%r8d, (%rbx,%rax,4)
	jmp	.L355
	.p2align 4,,10
	.p2align 3
.L331:
	movl	28+p(%rip), %r11d
	movl	%r11d, (%rbx,%rax,4)
	jmp	.L190
	.p2align 4,,10
	.p2align 3
.L326:
	movl	32+p(%rip), %edx
	leaq	f(%rip), %rdi
	movl	%edx, (%rsp)
	movl	%edx, (%rdi,%rax,4)
	jmp	.L147
	.p2align 4,,10
	.p2align 3
.L335:
	movl	20+p(%rip), %eax
	leaq	f(%rip), %rsi
	movl	%eax, (%rsi,%rdx,4)
	jmp	.L217
	.p2align 4,,10
	.p2align 3
.L332:
	movl	24+p(%rip), %r8d
	movl	%r8d, (%rcx,%rax,4)
	jmp	.L194
	.p2align 4,,10
	.p2align 3
.L327:
	movl	28+p(%rip), %r8d
	movl	%r8d, (%rsi,%rax,4)
	jmp	.L151
	.p2align 4,,10
	.p2align 3
.L347:
	movl	20+p(%rip), %eax
	leaq	f(%rip), %rcx
	movl	%eax, (%rcx,%rdi,4)
	jmp	.L206
	.p2align 4,,10
	.p2align 3
.L333:
	movl	20+p(%rip), %eax
	leaq	f(%rip), %rsi
	movl	%eax, (%rsi,%rdi,4)
	jmp	.L200
	.p2align 4,,10
	.p2align 3
.L348:
	movl	24+p(%rip), %r8d
	addl	%r8d, 16(%rsp)
	movl	%r8d, (%rcx,%rax,4)
	jmp	.L356
	.p2align 4,,10
	.p2align 3
.L328:
	movl	24+p(%rip), %r8d
	movl	%r8d, (%rdx,%rax,4)
	jmp	.L155
.L352:
	movl	20+p(%rip), %eax
	leaq	f(%rip), %rdi
	movl	%eax, (%rdi,%rdx,4)
	jmp	.L184
.L349:
	movl	20+p(%rip), %eax
	leaq	f(%rip), %rdx
	movl	%eax, (%rdx,%rdi,4)
	jmp	.L178
.L353:
	movl	20+p(%rip), %eax
	leaq	f(%rip), %rsi
	movl	%eax, (%rsi,%rdi,4)
	jmp	.L167
.L329:
	movl	20+p(%rip), %eax
	leaq	f(%rip), %rdx
	movl	%eax, (%rdx,%rdi,4)
	jmp	.L161
.L330:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE36:
	.size	main, .-main
	.globl	p
	.bss
	.align 32
	.type	p, @object
	.size	p, 40
p:
	.zero	40
	.globl	f
	.align 32
	.type	f, @object
	.size	f, 3502080
f:
	.zero	3502080
	.globl	j
	.align 32
	.type	j, @object
	.size	j, 40
j:
	.zero	40
	.globl	g
	.align 32
	.type	g, @object
	.size	g, 40
g:
	.zero	40
	.section	.rodata.cst16,"aM",@progbits,16
	.align 16
.LC0:
	.long	1
	.long	1
	.long	2
	.long	6
	.align 16
.LC1:
	.long	24
	.long	120
	.long	720
	.long	5040
	.section	.rodata.cst8,"aM",@progbits,8
	.align 8
.LC2:
	.long	40320
	.long	362880
	.align 8
.LC4:
	.long	0
	.long	1072693248
	.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:

// AOJ 2187: Card Game
// 2017.11.6 bal4u@uu

#include <stdio.h>
#include <string.h>
#define TM 0
#if TM
#include <time.h>
#endif

#define SUM 171		// =19*9
#define HALF 86		// =SUM/2+1
int g[10], j[10];
int f[10][171][1<<9], p[10];

int rec(int i, int sg, int combi)
{
	int r, k, mask;

	if (i == 9) return sg >= HALF;
	if (f[i][sg][combi] >= 0) return f[i][sg][combi];
	if (sg >= HALF) return f[i][sg][combi] = p[9-i];
	
	for (r = 0, mask = 1, k = 0; k < 9; k++, mask <<= 1) {
		if (combi & mask) {
			if (g[i] > j[k]) r += rec(i+1, sg+g[i]+j[k], combi^mask);
			else             r += rec(i+1, sg, combi^mask);
		}
	}
	return f[i][sg][combi] = r;
}

int main()
{
	int t, i;
	double x;

#if TM
	clock_t start, end;
	start = clock();
#endif
	for (p[0] = 1, i = 1; i <= 9; i++) p[i] = i*p[i-1];

	scanf("%d", &t);
	while (t-- > 0) {
		for (i = 0; i < 9; i++) scanf("%d", g+i);
		for (i = 0; i < 9; i++) scanf("%d", j+i);
		memset(f, -1, sizeof(f));
		x = 1.0/p[9] * rec(0, 0, (1<<9)-1);
		printf("%.15lf %.15lf\n", x, 1-x);
	}
#if TM
	end = clock();
	printf("time %lf\n", (double)(end-start)/CLOCKS_PER_SEC);
#endif
	return 0;
}
2
1 3 5 7 9 11 13 15 17
2 4 6 8 10 12 14 16 18
2 5 7 9 11 13 15 17 18
1 3 4 6 8 10 12 14 16
 2
2 3 5 7 9 11 13 15 17
1 4 6 8 10 12 14 16 18
1 5 7 9 11 13 15 17 18
2 3 4 6 8 10 12 14 16

0.308909281305115 0.691090718694885
0.927447089947090 0.072552910052910
 0.301614858906526 0.698385141093474
0.927469135802469 0.072530864197531

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

```c
// AOJ 2187: Card Game
// 2017.11.6 bal4u@uu

#include <stdio.h>
#include <string.h>
#define TM 0
#if TM
#include <time.h>
#endif

#define SUM 171		// =19*9
#define HALF 86		// =SUM/2+1
int g[10], j[10];
int f[10][171][1<<9], p[10];

int rec(int i, int sg, int combi)
{
	int r, k, mask;

	if (i == 9) return sg >= HALF;
	if (f[i][sg][combi] >= 0) return f[i][sg][combi];
	if (sg >= HALF) return f[i][sg][combi] = p[9-i];
	
	for (r = 0, mask = 1, k = 0; k < 9; k++, mask <<= 1) {
		if (combi & mask) {
			if (g[i] > j[k]) r += rec(i+1, sg+g[i]+j[k], combi^mask);
			else             r += rec(i+1, sg, combi^mask);
		}
	}
	return f[i][sg][combi] = r;
}

int main()
{
	int t, i;
	double x;

#if TM
	clock_t start, end;
	start = clock();
#endif
	for (p[0] = 1, i = 1; i <= 9; i++) p[i] = i*p[i-1];

	scanf("%d", &t);
	while (t-- > 0) {
		for (i = 0; i < 9; i++) scanf("%d", g+i);
		for (i = 0; i < 9; i++) scanf("%d", j+i);
		memset(f, -1, sizeof(f));
		x = 1.0/p[9] * rec(0, 0, (1<<9)-1);
		printf("%.15lf %.15lf\n", x, 1-x);
	}
#if TM
	end = clock();
	printf("time %lf\n", (double)(end-start)/CLOCKS_PER_SEC);
#endif
	return 0;
}```

Unoptimized Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.globl	g
	.bss
	.align 32
	.type	g, @object
	.size	g, 40
g:
	.zero	40
	.globl	j
	.align 32
	.type	j, @object
	.size	j, 40
j:
	.zero	40
	.globl	f
	.align 32
	.type	f, @object
	.size	f, 3502080
f:
	.zero	3502080
	.globl	p
	.align 32
	.type	p, @object
	.size	p, 40
p:
	.zero	40
	.text
	.globl	rec
	.type	rec, @function
rec:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$32, %rsp
	movl	%edi, -20(%rbp)
	movl	%esi, -24(%rbp)
	movl	%edx, -28(%rbp)
	cmpl	$9, -20(%rbp)
	jne	.L2
	cmpl	$85, -24(%rbp)
	setg	%al
	movzbl	%al, %eax
	jmp	.L3
.L2:
	movl	-28(%rbp), %eax
	movslq	%eax, %rcx
	movl	-20(%rbp), %eax
	movslq	%eax, %rdx
	movl	-24(%rbp), %eax
	movslq	%eax, %rsi
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	leaq	0(,%rax,8), %rdx
	addq	%rdx, %rax
	addq	%rsi, %rax
	salq	$9, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	f(%rip), %rax
	movl	(%rdx,%rax), %eax
	testl	%eax, %eax
	js	.L4
	movl	-28(%rbp), %eax
	movslq	%eax, %rcx
	movl	-20(%rbp), %eax
	movslq	%eax, %rdx
	movl	-24(%rbp), %eax
	movslq	%eax, %rsi
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	leaq	0(,%rax,8), %rdx
	addq	%rdx, %rax
	addq	%rsi, %rax
	salq	$9, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	f(%rip), %rax
	movl	(%rdx,%rax), %eax
	jmp	.L3
.L4:
	cmpl	$85, -24(%rbp)
	jle	.L5
	movl	$9, %eax
	subl	-20(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	p(%rip), %rax
	movl	(%rdx,%rax), %ecx
	movl	-28(%rbp), %eax
	movslq	%eax, %rsi
	movl	-20(%rbp), %eax
	movslq	%eax, %rdx
	movl	-24(%rbp), %eax
	movslq	%eax, %rdi
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	leaq	0(,%rax,8), %rdx
	addq	%rdx, %rax
	addq	%rdi, %rax
	salq	$9, %rax
	addq	%rsi, %rax
	leaq	0(,%rax,4), %rdx
	leaq	f(%rip), %rax
	movl	%ecx, (%rdx,%rax)
	movl	-28(%rbp), %eax
	movslq	%eax, %rcx
	movl	-20(%rbp), %eax
	movslq	%eax, %rdx
	movl	-24(%rbp), %eax
	movslq	%eax, %rsi
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	leaq	0(,%rax,8), %rdx
	addq	%rdx, %rax
	addq	%rsi, %rax
	salq	$9, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	f(%rip), %rax
	movl	(%rdx,%rax), %eax
	jmp	.L3
.L5:
	movl	$0, -12(%rbp)
	movl	$1, -4(%rbp)
	movl	$0, -8(%rbp)
	jmp	.L6
.L9:
	movl	-28(%rbp), %eax
	andl	-4(%rbp), %eax
	testl	%eax, %eax
	je	.L7
	movl	-20(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	g(%rip), %rax
	movl	(%rdx,%rax), %edx
	movl	-8(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rcx
	leaq	j(%rip), %rax
	movl	(%rcx,%rax), %eax
	cmpl	%eax, %edx
	jle	.L8
	movl	-28(%rbp), %eax
	xorl	-4(%rbp), %eax
	movl	-20(%rbp), %edx
	movslq	%edx, %rdx
	leaq	0(,%rdx,4), %rcx
	leaq	g(%rip), %rdx
	movl	(%rcx,%rdx), %ecx
	movl	-24(%rbp), %edx
	leal	(%rcx,%rdx), %esi
	movl	-8(%rbp), %edx
	movslq	%edx, %rdx
	leaq	0(,%rdx,4), %rcx
	leaq	j(%rip), %rdx
	movl	(%rcx,%rdx), %edx
	addl	%edx, %esi
	movl	-20(%rbp), %edx
	leal	1(%rdx), %ecx
	movl	%eax, %edx
	movl	%ecx, %edi
	call	rec
	addl	%eax, -12(%rbp)
	jmp	.L7
.L8:
	movl	-28(%rbp), %eax
	xorl	-4(%rbp), %eax
	movl	%eax, %edx
	movl	-20(%rbp), %eax
	leal	1(%rax), %ecx
	movl	-24(%rbp), %eax
	movl	%eax, %esi
	movl	%ecx, %edi
	call	rec
	addl	%eax, -12(%rbp)
.L7:
	addl	$1, -8(%rbp)
	sall	-4(%rbp)
.L6:
	cmpl	$8, -8(%rbp)
	jle	.L9
	movl	-28(%rbp), %eax
	movslq	%eax, %rcx
	movl	-20(%rbp), %eax
	movslq	%eax, %rdx
	movl	-24(%rbp), %eax
	movslq	%eax, %rsi
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	leaq	0(,%rax,8), %rdx
	addq	%rdx, %rax
	addq	%rsi, %rax
	salq	$9, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rcx
	leaq	f(%rip), %rdx
	movl	-12(%rbp), %eax
	movl	%eax, (%rcx,%rdx)
	movl	-28(%rbp), %eax
	movslq	%eax, %rcx
	movl	-20(%rbp), %eax
	movslq	%eax, %rdx
	movl	-24(%rbp), %eax
	movslq	%eax, %rsi
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	leaq	0(,%rax,8), %rdx
	addq	%rdx, %rax
	addq	%rsi, %rax
	salq	$9, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	f(%rip), %rax
	movl	(%rdx,%rax), %eax
.L3:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	rec, .-rec
	.section	.rodata
.LC0:
	.string	"%d"
.LC2:
	.string	"%.15lf %.15lf\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB1:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$48, %rsp
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movl	$1, p(%rip)
	movl	$1, -20(%rbp)
	jmp	.L11
.L12:
	movl	-20(%rbp), %eax
	subl	$1, %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	p(%rip), %rax
	movl	(%rdx,%rax), %eax
	imull	-20(%rbp), %eax
	movl	-20(%rbp), %edx
	movslq	%edx, %rdx
	leaq	0(,%rdx,4), %rcx
	leaq	p(%rip), %rdx
	movl	%eax, (%rcx,%rdx)
	addl	$1, -20(%rbp)
.L11:
	cmpl	$9, -20(%rbp)
	jle	.L12
	leaq	-24(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	jmp	.L13
.L18:
	movl	$0, -20(%rbp)
	jmp	.L14
.L15:
	movl	-20(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	g(%rip), %rax
	addq	%rdx, %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	addl	$1, -20(%rbp)
.L14:
	cmpl	$8, -20(%rbp)
	jle	.L15
	movl	$0, -20(%rbp)
	jmp	.L16
.L17:
	movl	-20(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	j(%rip), %rax
	addq	%rdx, %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	addl	$1, -20(%rbp)
.L16:
	cmpl	$8, -20(%rbp)
	jle	.L17
	movl	$3502080, %edx
	movl	$-1, %esi
	leaq	f(%rip), %rax
	movq	%rax, %rdi
	call	memset@PLT
	movl	36+p(%rip), %eax
	pxor	%xmm1, %xmm1
	cvtsi2sdl	%eax, %xmm1
	movsd	.LC1(%rip), %xmm0
	divsd	%xmm1, %xmm0
	movsd	%xmm0, -40(%rbp)
	movl	$511, %edx
	movl	$0, %esi
	movl	$0, %edi
	call	rec
	pxor	%xmm0, %xmm0
	cvtsi2sdl	%eax, %xmm0
	mulsd	-40(%rbp), %xmm0
	movsd	%xmm0, -16(%rbp)
	movsd	.LC1(%rip), %xmm0
	subsd	-16(%rbp), %xmm0
	movq	-16(%rbp), %rax
	movapd	%xmm0, %xmm1
	movq	%rax, %xmm0
	leaq	.LC2(%rip), %rax
	movq	%rax, %rdi
	movl	$2, %eax
	call	printf@PLT
.L13:
	movl	-24(%rbp), %eax
	leal	-1(%rax), %edx
	movl	%edx, -24(%rbp)
	testl	%eax, %eax
	jg	.L18
	movl	$0, %eax
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L20
	call	__stack_chk_fail@PLT
.L20:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	main, .-main
	.section	.rodata
	.align 8
.LC1:
	.long	0
	.long	1072693248
	.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	g
	.bss
	.align 32
	.type	g, @object
	.size	g, 40
g:
	.zero	40
	.globl	j
	.align 32
	.type	j, @object
	.size	j, 40
j:
	.zero	40
	.globl	f
	.align 32
	.type	f, @object
	.size	f, 3502080
f:
	.zero	3502080
	.globl	p
	.align 32
	.type	p, @object
	.size	p, 40
p:
	.zero	40
	.text
	.globl	rec
	.type	rec, @function
rec:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$32, %rsp
	movl	%edi, -20(%rbp)
	movl	%esi, -24(%rbp)
	movl	%edx, -28(%rbp)
	cmpl	$9, -20(%rbp)
	jne	.L2
	cmpl	$85, -24(%rbp)
	setg	%al
	movzbl	%al, %eax
	jmp	.L3
.L2:
	movl	-28(%rbp), %eax
	movslq	%eax, %rcx
	movl	-20(%rbp), %eax
	movslq	%eax, %rdx
	movl	-24(%rbp), %eax
	movslq	%eax, %rsi
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	leaq	0(,%rax,8), %rdx
	addq	%rdx, %rax
	addq	%rsi, %rax
	salq	$9, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	f(%rip), %rax
	movl	(%rdx,%rax), %eax
	testl	%eax, %eax
	js	.L4
	movl	-28(%rbp), %eax
	movslq	%eax, %rcx
	movl	-20(%rbp), %eax
	movslq	%eax, %rdx
	movl	-24(%rbp), %eax
	movslq	%eax, %rsi
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	leaq	0(,%rax,8), %rdx
	addq	%rdx, %rax
	addq	%rsi, %rax
	salq	$9, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	f(%rip), %rax
	movl	(%rdx,%rax), %eax
	jmp	.L3
.L4:
	cmpl	$85, -24(%rbp)
	jle	.L5
	movl	$9, %eax
	subl	-20(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	p(%rip), %rax
	movl	(%rdx,%rax), %ecx
	movl	-28(%rbp), %eax
	movslq	%eax, %rsi
	movl	-20(%rbp), %eax
	movslq	%eax, %rdx
	movl	-24(%rbp), %eax
	movslq	%eax, %rdi
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	leaq	0(,%rax,8), %rdx
	addq	%rdx, %rax
	addq	%rdi, %rax
	salq	$9, %rax
	addq	%rsi, %rax
	leaq	0(,%rax,4), %rdx
	leaq	f(%rip), %rax
	movl	%ecx, (%rdx,%rax)
	movl	-28(%rbp), %eax
	movslq	%eax, %rcx
	movl	-20(%rbp), %eax
	movslq	%eax, %rdx
	movl	-24(%rbp), %eax
	movslq	%eax, %rsi
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	leaq	0(,%rax,8), %rdx
	addq	%rdx, %rax
	addq	%rsi, %rax
	salq	$9, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	f(%rip), %rax
	movl	(%rdx,%rax), %eax
	jmp	.L3
.L5:
	movl	$0, -12(%rbp)
	movl	$1, -4(%rbp)
	movl	$0, -8(%rbp)
	jmp	.L6
.L9:
	movl	-28(%rbp), %eax
	andl	-4(%rbp), %eax
	testl	%eax, %eax
	je	.L7
	movl	-20(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	g(%rip), %rax
	movl	(%rdx,%rax), %edx
	movl	-8(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rcx
	leaq	j(%rip), %rax
	movl	(%rcx,%rax), %eax
	cmpl	%eax, %edx
	jle	.L8
	movl	-28(%rbp), %eax
	xorl	-4(%rbp), %eax
	movl	-20(%rbp), %edx
	movslq	%edx, %rdx
	leaq	0(,%rdx,4), %rcx
	leaq	g(%rip), %rdx
	movl	(%rcx,%rdx), %ecx
	movl	-24(%rbp), %edx
	leal	(%rcx,%rdx), %esi
	movl	-8(%rbp), %edx
	movslq	%edx, %rdx
	leaq	0(,%rdx,4), %rcx
	leaq	j(%rip), %rdx
	movl	(%rcx,%rdx), %edx
	addl	%edx, %esi
	movl	-20(%rbp), %edx
	leal	1(%rdx), %ecx
	movl	%eax, %edx
	movl	%ecx, %edi
	call	rec
	addl	%eax, -12(%rbp)
	jmp	.L7
.L8:
	movl	-28(%rbp), %eax
	xorl	-4(%rbp), %eax
	movl	%eax, %edx
	movl	-20(%rbp), %eax
	leal	1(%rax), %ecx
	movl	-24(%rbp), %eax
	movl	%eax, %esi
	movl	%ecx, %edi
	call	rec
	addl	%eax, -12(%rbp)
.L7:
	addl	$1, -8(%rbp)
	sall	-4(%rbp)
.L6:
	cmpl	$8, -8(%rbp)
	jle	.L9
	movl	-28(%rbp), %eax
	movslq	%eax, %rcx
	movl	-20(%rbp), %eax
	movslq	%eax, %rdx
	movl	-24(%rbp), %eax
	movslq	%eax, %rsi
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	leaq	0(,%rax,8), %rdx
	addq	%rdx, %rax
	addq	%rsi, %rax
	salq	$9, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rcx
	leaq	f(%rip), %rdx
	movl	-12(%rbp), %eax
	movl	%eax, (%rcx,%rdx)
	movl	-28(%rbp), %eax
	movslq	%eax, %rcx
	movl	-20(%rbp), %eax
	movslq	%eax, %rdx
	movl	-24(%rbp), %eax
	movslq	%eax, %rsi
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	leaq	0(,%rax,8), %rdx
	addq	%rdx, %rax
	addq	%rsi, %rax
	salq	$9, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	f(%rip), %rax
	movl	(%rdx,%rax), %eax
.L3:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	rec, .-rec
	.section	.rodata
.LC0:
	.string	"%d"
.LC2:
	.string	"%.15lf %.15lf\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB1:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$48, %rsp
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movl	$1, p(%rip)
	movl	$1, -20(%rbp)
	jmp	.L11
.L12:
	movl	-20(%rbp), %eax
	subl	$1, %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	p(%rip), %rax
	movl	(%rdx,%rax), %eax
	imull	-20(%rbp), %eax
	movl	-20(%rbp), %edx
	movslq	%edx, %rdx
	leaq	0(,%rdx,4), %rcx
	leaq	p(%rip), %rdx
	movl	%eax, (%rcx,%rdx)
	addl	$1, -20(%rbp)
.L11:
	cmpl	$9, -20(%rbp)
	jle	.L12
	leaq	-24(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	jmp	.L13
.L18:
	movl	$0, -20(%rbp)
	jmp	.L14
.L15:
	movl	-20(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	g(%rip), %rax
	addq	%rdx, %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	addl	$1, -20(%rbp)
.L14:
	cmpl	$8, -20(%rbp)
	jle	.L15
	movl	$0, -20(%rbp)
	jmp	.L16
.L17:
	movl	-20(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	j(%rip), %rax
	addq	%rdx, %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	addl	$1, -20(%rbp)
.L16:
	cmpl	$8, -20(%rbp)
	jle	.L17
	movl	$3502080, %edx
	movl	$-1, %esi
	leaq	f(%rip), %rax
	movq	%rax, %rdi
	call	memset@PLT
	movl	36+p(%rip), %eax
	pxor	%xmm1, %xmm1
	cvtsi2sdl	%eax, %xmm1
	movsd	.LC1(%rip), %xmm0
	divsd	%xmm1, %xmm0
	movsd	%xmm0, -40(%rbp)
	movl	$511, %edx
	movl	$0, %esi
	movl	$0, %edi
	call	rec
	pxor	%xmm0, %xmm0
	cvtsi2sdl	%eax, %xmm0
	mulsd	-40(%rbp), %xmm0
	movsd	%xmm0, -16(%rbp)
	movsd	.LC1(%rip), %xmm0
	subsd	-16(%rbp), %xmm0
	movq	-16(%rbp), %rax
	movapd	%xmm0, %xmm1
	movq	%rax, %xmm0
	leaq	.LC2(%rip), %rax
	movq	%rax, %rdi
	movl	$2, %eax
	call	printf@PLT
.L13:
	movl	-24(%rbp), %eax
	leal	-1(%rax), %edx
	movl	%edx, -24(%rbp)
	testl	%eax, %eax
	jg	.L18
	movl	$0, %eax
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L20
	call	__stack_chk_fail@PLT
.L20:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	main, .-main
	.section	.rodata
	.align 8
.LC1:
	.long	0
	.long	1072693248
	.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:
