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

#ifndef KOTAISUU
#define KOTAISUU 12
#endif
#ifndef SEDAISUU
#define SEDAISUU 17000
#endif
#ifndef KAKURITU
#define KAKURITU 30 /* * 0.01 % */
#endif

#ifndef NO_ENABLE_REVERSE
#define ENABLE_REVERSE
#endif

static unsigned int x=123456789;
static unsigned int y=362436069;
static unsigned int z=521288629;
static unsigned int w=88675123;

void seed(unsigned int a,unsigned int b,unsigned int c,unsigned int d) {
	if((a|b|c|d)==0)return;
	x=a;y=b;z=c;w=d;
}

unsigned int randint(void) {
	unsigned int t;
	t=(x^(x<<11));
	x=y;y=z;z=w;
	w=(w^(w>>19))^(t^(t>>8));
	return w;
}

unsigned int randint2(unsigned int max) {
	unsigned int amari = ((UINT_MAX % max) + 1) % max;
	unsigned int ret;
	do {
		ret = randint();
	} while (ret < amari);
	return ret % max;
}

#define KIND 26
#define MAX 365

struct horieyui {
	int mamegu[MAX];
};

int D;
int c[KIND];
int s[MAX][KIND];

int mizuhasu(const struct horieyui* kitaeri, int n) {
	int sumipe = 0;
	int i, j;
	int last[KIND] = {0};
	for (i = 0; i < n; i++) {
		sumipe += s[i][kitaeri->mamegu[i]];
		last[kitaeri->mamegu[i]] = i + 1;
		for (j = 0; j < KIND; j++) {
			sumipe -= c[j] * ((i + 1) - last[j]);
		}
	}
	return sumipe;
}

int main(void) {
	int i, j;
	struct horieyui otehon;
	struct horieyui saikyou;
	int saikyou_score = 0;
	if (scanf("%d", &D) != 1) return 1;
	for (i = 0; i < KIND; i++) {
		if (scanf("%d", &c[i]) != 1) return 1;
	}
	for (i = 0; i < D; i++) {
		for (j = 0; j < KIND; j++) {
			if (scanf("%d", &s[i][j]) != 1) return 1;
		}
	}

	for (i = 0; i < D; i++) {
		int best = 0, bj = 0;
		for (j = 0; j < KIND; j++) {
			int score;
			saikyou.mamegu[i] = j;
			score = mizuhasu(&saikyou, i + 1);
			if (best < score || j == 0) { best = score; bj = j; }
		}
		saikyou.mamegu[i] = bj;
	}
	otehon = saikyou;

	for (i = 0; i < SEDAISUU; i++) {
		struct horieyui saituyo;
		int saituyo_score = 0;
		for (j = 0; j < KOTAISUU; j++) {
			struct horieyui kore = otehon;
			int k;
			int score;
			for(k = 0; k < D; k++) {
				if (randint2(10000) < KAKURITU) {
					kore.mamegu[k] = randint2(KIND - 1);
					if (kore.mamegu[k] >= otehon.mamegu[k]) kore.mamegu[k]++;
				}
			}
			score = mizuhasu(&kore, D);
			if (j == 0 || score > saituyo_score) {
				saituyo = kore;
				saituyo_score = score;
			}
		}
#ifdef NO_FORCE_UPDATE
		if (saituyo_score > saikyou_score)
#endif
		otehon = saituyo;
		if (saituyo_score > saikyou_score) {
#ifdef PRINT_UPDATE
			fprintf(stderr, "update at generation %d : %d -> %d\n", i + 1, saikyou_score, saituyo_score);
#endif
			saikyou = saituyo;
			saikyou_score = saituyo_score;
		}
	}
	for (i = 0; i < D; i++) {
		printf("%d\n", saikyou.mamegu[i] + 1);
	}
#ifdef PRINT_SCORE
	printf("score = %d\n", saikyou_score < -1000000 ? 0 : 1000000 + saikyou_score);
#endif
	return 0;
}
```

Unoptimized Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.data
	.align 4
	.type	x, @object
	.size	x, 4
x:
	.long	123456789
	.align 4
	.type	y, @object
	.size	y, 4
y:
	.long	362436069
	.align 4
	.type	z, @object
	.size	z, 4
z:
	.long	521288629
	.align 4
	.type	w, @object
	.size	w, 4
w:
	.long	88675123
	.text
	.globl	seed
	.type	seed, @function
seed:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movl	%edi, -4(%rbp)
	movl	%esi, -8(%rbp)
	movl	%edx, -12(%rbp)
	movl	%ecx, -16(%rbp)
	movl	-4(%rbp), %eax
	orl	-8(%rbp), %eax
	orl	-12(%rbp), %eax
	orl	-16(%rbp), %eax
	testl	%eax, %eax
	je	.L4
	movl	-4(%rbp), %eax
	movl	%eax, x(%rip)
	movl	-8(%rbp), %eax
	movl	%eax, y(%rip)
	movl	-12(%rbp), %eax
	movl	%eax, z(%rip)
	movl	-16(%rbp), %eax
	movl	%eax, w(%rip)
	jmp	.L1
.L4:
	nop
.L1:
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	seed, .-seed
	.globl	randint
	.type	randint, @function
randint:
.LFB1:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movl	x(%rip), %eax
	sall	$11, %eax
	movl	%eax, %edx
	movl	x(%rip), %eax
	xorl	%edx, %eax
	movl	%eax, -4(%rbp)
	movl	y(%rip), %eax
	movl	%eax, x(%rip)
	movl	z(%rip), %eax
	movl	%eax, y(%rip)
	movl	w(%rip), %eax
	movl	%eax, z(%rip)
	movl	w(%rip), %eax
	shrl	$19, %eax
	movl	%eax, %edx
	movl	w(%rip), %eax
	xorl	%eax, %edx
	movl	-4(%rbp), %eax
	shrl	$8, %eax
	xorl	-4(%rbp), %eax
	xorl	%edx, %eax
	movl	%eax, w(%rip)
	movl	w(%rip), %eax
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	randint, .-randint
	.globl	randint2
	.type	randint2, @function
randint2:
.LFB2:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$24, %rsp
	movl	%edi, -20(%rbp)
	movl	$-1, %eax
	movl	$0, %edx
	divl	-20(%rbp)
	movl	%edx, %eax
	addl	$1, %eax
	movl	$0, %edx
	divl	-20(%rbp)
	movl	%edx, -8(%rbp)
.L8:
	call	randint
	movl	%eax, -4(%rbp)
	movl	-4(%rbp), %eax
	cmpl	-8(%rbp), %eax
	jb	.L8
	movl	-4(%rbp), %eax
	movl	$0, %edx
	divl	-20(%rbp)
	movl	%edx, %eax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	randint2, .-randint2
	.globl	D
	.bss
	.align 4
	.type	D, @object
	.size	D, 4
D:
	.zero	4
	.globl	c
	.align 32
	.type	c, @object
	.size	c, 104
c:
	.zero	104
	.globl	s
	.align 32
	.type	s, @object
	.size	s, 37960
s:
	.zero	37960
	.text
	.globl	mizuhasu
	.type	mizuhasu, @function
mizuhasu:
.LFB3:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$144, %rsp
	movq	%rdi, -136(%rbp)
	movl	%esi, -140(%rbp)
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movl	$0, -124(%rbp)
	leaq	-112(%rbp), %rdx
	movl	$0, %eax
	movl	$13, %ecx
	movq	%rdx, %rdi
	rep stosq
	movl	$0, -120(%rbp)
	jmp	.L11
.L14:
	movq	-136(%rbp), %rax
	movl	-120(%rbp), %edx
	movslq	%edx, %rdx
	movl	(%rax,%rdx,4), %eax
	movslq	%eax, %rcx
	movl	-120(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	s(%rip), %rax
	movl	(%rdx,%rax), %eax
	addl	%eax, -124(%rbp)
	movq	-136(%rbp), %rax
	movl	-120(%rbp), %edx
	movslq	%edx, %rdx
	movl	(%rax,%rdx,4), %eax
	movl	-120(%rbp), %edx
	addl	$1, %edx
	cltq
	movl	%edx, -112(%rbp,%rax,4)
	movl	$0, -116(%rbp)
	jmp	.L12
.L13:
	movl	-116(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	c(%rip), %rax
	movl	(%rdx,%rax), %edx
	movl	-120(%rbp), %eax
	leal	1(%rax), %ecx
	movl	-116(%rbp), %eax
	cltq
	movl	-112(%rbp,%rax,4), %esi
	movl	%ecx, %eax
	subl	%esi, %eax
	imull	%edx, %eax
	subl	%eax, -124(%rbp)
	addl	$1, -116(%rbp)
.L12:
	cmpl	$25, -116(%rbp)
	jle	.L13
	addl	$1, -120(%rbp)
.L11:
	movl	-120(%rbp), %eax
	cmpl	-140(%rbp), %eax
	jl	.L14
	movl	-124(%rbp), %eax
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L16
	call	__stack_chk_fail@PLT
.L16:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	mizuhasu, .-mizuhasu
	.section	.rodata
.LC0:
	.string	"%d"
.LC1:
	.string	"%d\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB4:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$4096, %rsp
	orq	$0, (%rsp)
	subq	$1840, %rsp
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movl	$0, -5916(%rbp)
	leaq	D(%rip), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	cmpl	$1, %eax
	je	.L18
	movl	$1, %eax
	jmp	.L46
.L18:
	movl	$0, -5924(%rbp)
	jmp	.L20
.L22:
	movl	-5924(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	c(%rip), %rax
	addq	%rdx, %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	cmpl	$1, %eax
	je	.L21
	movl	$1, %eax
	jmp	.L46
.L21:
	addl	$1, -5924(%rbp)
.L20:
	cmpl	$25, -5924(%rbp)
	jle	.L22
	movl	$0, -5924(%rbp)
	jmp	.L23
.L27:
	movl	$0, -5920(%rbp)
	jmp	.L24
.L26:
	movl	-5920(%rbp), %eax
	movslq	%eax, %rcx
	movl	-5924(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	s(%rip), %rax
	addq	%rdx, %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	cmpl	$1, %eax
	je	.L25
	movl	$1, %eax
	jmp	.L46
.L25:
	addl	$1, -5920(%rbp)
.L24:
	cmpl	$25, -5920(%rbp)
	jle	.L26
	addl	$1, -5924(%rbp)
.L23:
	movl	D(%rip), %eax
	cmpl	%eax, -5924(%rbp)
	jl	.L27
	movl	$0, -5924(%rbp)
	jmp	.L28
.L33:
	movl	$0, -5912(%rbp)
	movl	$0, -5908(%rbp)
	movl	$0, -5920(%rbp)
	jmp	.L29
.L32:
	movl	-5924(%rbp), %eax
	cltq
	movl	-5920(%rbp), %edx
	movl	%edx, -4416(%rbp,%rax,4)
	movl	-5924(%rbp), %eax
	leal	1(%rax), %edx
	leaq	-4416(%rbp), %rax
	movl	%edx, %esi
	movq	%rax, %rdi
	call	mizuhasu
	movl	%eax, -5892(%rbp)
	movl	-5912(%rbp), %eax
	cmpl	-5892(%rbp), %eax
	jl	.L30
	cmpl	$0, -5920(%rbp)
	jne	.L31
.L30:
	movl	-5892(%rbp), %eax
	movl	%eax, -5912(%rbp)
	movl	-5920(%rbp), %eax
	movl	%eax, -5908(%rbp)
.L31:
	addl	$1, -5920(%rbp)
.L29:
	cmpl	$25, -5920(%rbp)
	jle	.L32
	movl	-5924(%rbp), %eax
	cltq
	movl	-5908(%rbp), %edx
	movl	%edx, -4416(%rbp,%rax,4)
	addl	$1, -5924(%rbp)
.L28:
	movl	D(%rip), %eax
	cmpl	%eax, -5924(%rbp)
	jl	.L33
	leaq	-5888(%rbp), %rdx
	leaq	-4416(%rbp), %rax
	movl	$182, %ecx
	movq	%rdx, %rdi
	movq	%rax, %rsi
	rep movsq
	movq	%rsi, %rax
	movq	%rdi, %rdx
	movl	(%rax), %ecx
	movl	%ecx, (%rdx)
	movl	$0, -5924(%rbp)
	jmp	.L34
.L43:
	movl	$0, -5904(%rbp)
	movl	$0, -5920(%rbp)
	jmp	.L35
.L41:
	leaq	-1472(%rbp), %rdx
	leaq	-5888(%rbp), %rax
	movl	$182, %ecx
	movq	%rdx, %rdi
	movq	%rax, %rsi
	rep movsq
	movq	%rsi, %rax
	movq	%rdi, %rdx
	movl	(%rax), %ecx
	movl	%ecx, (%rdx)
	movl	$0, -5900(%rbp)
	jmp	.L36
.L38:
	movl	$10000, %edi
	call	randint2
	cmpl	$29, %eax
	ja	.L37
	movl	$25, %edi
	call	randint2
	movl	%eax, %edx
	movl	-5900(%rbp), %eax
	cltq
	movl	%edx, -1472(%rbp,%rax,4)
	movl	-5900(%rbp), %eax
	cltq
	movl	-1472(%rbp,%rax,4), %edx
	movl	-5900(%rbp), %eax
	cltq
	movl	-5888(%rbp,%rax,4), %eax
	cmpl	%eax, %edx
	jl	.L37
	movl	-5900(%rbp), %eax
	cltq
	movl	-1472(%rbp,%rax,4), %eax
	leal	1(%rax), %edx
	movl	-5900(%rbp), %eax
	cltq
	movl	%edx, -1472(%rbp,%rax,4)
.L37:
	addl	$1, -5900(%rbp)
.L36:
	movl	D(%rip), %eax
	cmpl	%eax, -5900(%rbp)
	jl	.L38
	movl	D(%rip), %edx
	leaq	-1472(%rbp), %rax
	movl	%edx, %esi
	movq	%rax, %rdi
	call	mizuhasu
	movl	%eax, -5896(%rbp)
	cmpl	$0, -5920(%rbp)
	je	.L39
	movl	-5896(%rbp), %eax
	cmpl	-5904(%rbp), %eax
	jle	.L40
.L39:
	leaq	-2944(%rbp), %rdx
	leaq	-1472(%rbp), %rax
	movl	$182, %ecx
	movq	%rdx, %rdi
	movq	%rax, %rsi
	rep movsq
	movq	%rsi, %rax
	movq	%rdi, %rdx
	movl	(%rax), %ecx
	movl	%ecx, (%rdx)
	movl	-5896(%rbp), %eax
	movl	%eax, -5904(%rbp)
.L40:
	addl	$1, -5920(%rbp)
.L35:
	cmpl	$11, -5920(%rbp)
	jle	.L41
	leaq	-5888(%rbp), %rdx
	leaq	-2944(%rbp), %rax
	movl	$182, %ecx
	movq	%rdx, %rdi
	movq	%rax, %rsi
	rep movsq
	movq	%rsi, %rax
	movq	%rdi, %rdx
	movl	(%rax), %ecx
	movl	%ecx, (%rdx)
	movl	-5904(%rbp), %eax
	cmpl	-5916(%rbp), %eax
	jle	.L42
	leaq	-4416(%rbp), %rdx
	leaq	-2944(%rbp), %rax
	movl	$182, %ecx
	movq	%rdx, %rdi
	movq	%rax, %rsi
	rep movsq
	movq	%rsi, %rax
	movq	%rdi, %rdx
	movl	(%rax), %ecx
	movl	%ecx, (%rdx)
	movl	-5904(%rbp), %eax
	movl	%eax, -5916(%rbp)
.L42:
	addl	$1, -5924(%rbp)
.L34:
	cmpl	$16999, -5924(%rbp)
	jle	.L43
	movl	$0, -5924(%rbp)
	jmp	.L44
.L45:
	movl	-5924(%rbp), %eax
	cltq
	movl	-4416(%rbp,%rax,4), %eax
	addl	$1, %eax
	movl	%eax, %esi
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	addl	$1, -5924(%rbp)
.L44:
	movl	D(%rip), %eax
	cmpl	%eax, -5924(%rbp)
	jl	.L45
	movl	$0, %eax
.L46:
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L47
	call	__stack_chk_fail@PLT
.L47:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	main, .-main
	.ident	"GCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	1f - 0f
	.long	4f - 1f
	.long	5
0:
	.string	"GNU"
1:
	.align 8
	.long	0xc0000002
	.long	3f - 2f
2:
	.long	0x3
3:
	.align 8
4:
```

Only output the optimized assembly code. Do not include any other text. Do not write any comments in the assembly code. Wrap the assembly code in ```assembly``` tags.
user
	.file	"temp.c"
	.text
	.p2align 4
	.globl	seed
	.type	seed, @function
seed:
.LFB23:
	.cfi_startproc
	endbr64
	movl	%edx, %eax
	orl	%ecx, %eax
	orl	%esi, %eax
	orl	%edi, %eax
	je	.L1
	movl	%edi, x(%rip)
	movl	%esi, y(%rip)
	movl	%edx, z(%rip)
	movl	%ecx, w(%rip)
.L1:
	ret
	.cfi_endproc
.LFE23:
	.size	seed, .-seed
	.p2align 4
	.globl	randint
	.type	randint, @function
randint:
.LFB24:
	.cfi_startproc
	endbr64
	movl	x(%rip), %eax
	movl	w(%rip), %ecx
	movl	%eax, %edx
	sall	$11, %edx
	xorl	%eax, %edx
	movl	y(%rip), %eax
	movl	%eax, x(%rip)
	movl	z(%rip), %eax
	movl	%ecx, z(%rip)
	movl	%eax, y(%rip)
	movl	%ecx, %eax
	shrl	$19, %eax
	xorl	%ecx, %eax
	xorl	%edx, %eax
	shrl	$8, %edx
	xorl	%edx, %eax
	movl	%eax, w(%rip)
	ret
	.cfi_endproc
.LFE24:
	.size	randint, .-randint
	.p2align 4
	.globl	randint2
	.type	randint2, @function
randint2:
.LFB25:
	.cfi_startproc
	endbr64
	movl	$-1, %eax
	xorl	%edx, %edx
	movl	%edi, %r10d
	movl	y(%rip), %r8d
	divl	%edi
	movl	z(%rip), %r9d
	leal	1(%rdx), %eax
	xorl	%edx, %edx
	divl	%edi
	movl	x(%rip), %edi
	movl	w(%rip), %eax
	jmp	.L9
	.p2align 4,,10
	.p2align 3
.L10:
	movl	%r9d, %r8d
	movl	%esi, %r9d
.L9:
	movl	%edi, %ecx
	movl	%eax, %esi
	shrl	$19, %eax
	sall	$11, %ecx
	xorl	%edi, %ecx
	movl	%r8d, %edi
	xorl	%ecx, %eax
	shrl	$8, %ecx
	xorl	%esi, %eax
	xorl	%ecx, %eax
	cmpl	%eax, %edx
	ja	.L10
	xorl	%edx, %edx
	movl	%eax, w(%rip)
	divl	%r10d
	movl	%r8d, x(%rip)
	movl	%r9d, y(%rip)
	movl	%esi, z(%rip)
	movl	%edx, %eax
	ret
	.cfi_endproc
.LFE25:
	.size	randint2, .-randint2
	.p2align 4
	.globl	mizuhasu
	.type	mizuhasu, @function
mizuhasu:
.LFB26:
	.cfi_startproc
	endbr64
	pushq	%rbx
	.cfi_def_cfa_offset 16
	.cfi_offset 3, -16
	movq	%rdi, %rdx
	movl	$13, %ecx
	addq	$-128, %rsp
	.cfi_def_cfa_offset 144
	movq	%fs:40, %rax
	movq	%rax, 120(%rsp)
	xorl	%eax, %eax
	leaq	16(%rsp), %rdi
	rep stosq
	testl	%esi, %esi
	jle	.L15
	movdqa	80+c(%rip), %xmm4
	movdqa	32+c(%rip), %xmm7
	movl	%esi, %r8d
	leaq	s(%rip), %rdi
	movdqa	48+c(%rip), %xmm6
	movq	%rdx, %rsi
	pxor	%xmm10, %xmm10
	movdqa	c(%rip), %xmm9
	movdqa	%xmm4, %xmm1
	movdqa	64+c(%rip), %xmm5
	movdqa	16+c(%rip), %xmm8
	movdqa	%xmm7, %xmm13
	movdqa	%xmm9, %xmm15
	movdqa	%xmm6, %xmm12
	movl	96+c(%rip), %r10d
	movl	100+c(%rip), %r9d
	movdqa	%xmm8, %xmm14
	psrlq	$32, %xmm1
	movdqa	%xmm5, %xmm11
	psrlq	$32, %xmm15
	psrlq	$32, %xmm14
	movaps	%xmm1, (%rsp)
	psrlq	$32, %xmm13
	psrlq	$32, %xmm12
	psrlq	$32, %xmm11
	.p2align 4,,10
	.p2align 3
.L13:
	movslq	%ecx, %rdx
	addl	$1, %ecx
	movslq	(%rsi), %r11
	addq	$4, %rsi
	movd	%ecx, %xmm1
	leaq	(%rdx,%rdx,2), %rbx
	pshufd	$0, %xmm1, %xmm1
	movl	%ecx, 16(%rsp,%r11,4)
	leaq	(%rdx,%rbx,4), %rdx
	movdqa	%xmm1, %xmm0
	psubd	16(%rsp), %xmm0
	leaq	(%r11,%rdx,2), %rdx
	addl	(%rdi,%rdx,4), %eax
	movdqa	%xmm0, %xmm2
	psrlq	$32, %xmm0
	pmuludq	%xmm9, %xmm2
	pmuludq	%xmm15, %xmm0
	pshufd	$8, %xmm2, %xmm2
	pshufd	$8, %xmm0, %xmm0
	punpckldq	%xmm0, %xmm2
	movdqa	%xmm10, %xmm0
	psubd	%xmm2, %xmm0
	movdqa	%xmm1, %xmm2
	psubd	32(%rsp), %xmm2
	movdqa	%xmm2, %xmm3
	psrlq	$32, %xmm2
	pmuludq	%xmm8, %xmm3
	pmuludq	%xmm14, %xmm2
	pshufd	$8, %xmm3, %xmm3
	pshufd	$8, %xmm2, %xmm2
	punpckldq	%xmm2, %xmm3
	movdqa	%xmm1, %xmm2
	psubd	48(%rsp), %xmm2
	psubd	%xmm3, %xmm0
	movdqa	%xmm2, %xmm3
	psrlq	$32, %xmm2
	pmuludq	%xmm7, %xmm3
	pmuludq	%xmm13, %xmm2
	pshufd	$8, %xmm3, %xmm3
	pshufd	$8, %xmm2, %xmm2
	punpckldq	%xmm2, %xmm3
	movdqa	%xmm1, %xmm2
	psubd	64(%rsp), %xmm2
	psubd	%xmm3, %xmm0
	movdqa	%xmm2, %xmm3
	psrlq	$32, %xmm2
	pmuludq	%xmm6, %xmm3
	pmuludq	%xmm12, %xmm2
	pshufd	$8, %xmm3, %xmm3
	pshufd	$8, %xmm2, %xmm2
	punpckldq	%xmm2, %xmm3
	movdqa	%xmm1, %xmm2
	psubd	80(%rsp), %xmm2
	psubd	%xmm3, %xmm0
	psubd	96(%rsp), %xmm1
	movdqa	%xmm2, %xmm3
	psrlq	$32, %xmm2
	pmuludq	%xmm5, %xmm3
	pmuludq	%xmm11, %xmm2
	pshufd	$8, %xmm3, %xmm3
	pshufd	$8, %xmm2, %xmm2
	punpckldq	%xmm2, %xmm3
	movdqa	%xmm1, %xmm2
	pmuludq	%xmm4, %xmm2
	psrlq	$32, %xmm1
	pmuludq	(%rsp), %xmm1
	pshufd	$8, %xmm1, %xmm1
	psubd	%xmm3, %xmm0
	pshufd	$8, %xmm2, %xmm2
	punpckldq	%xmm1, %xmm2
	psubd	%xmm2, %xmm0
	movdqa	%xmm0, %xmm1
	psrldq	$8, %xmm1
	paddd	%xmm1, %xmm0
	movdqa	%xmm0, %xmm1
	psrldq	$4, %xmm1
	paddd	%xmm1, %xmm0
	movd	%xmm0, %edx
	addl	%edx, %eax
	movl	%ecx, %edx
	subl	112(%rsp), %edx
	imull	%r10d, %edx
	subl	%edx, %eax
	movl	%ecx, %edx
	subl	116(%rsp), %edx
	imull	%r9d, %edx
	subl	%edx, %eax
	cmpl	%r8d, %ecx
	jne	.L13
.L11:
	movq	120(%rsp), %rdx
	subq	%fs:40, %rdx
	jne	.L18
	subq	$-128, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 16
	popq	%rbx
	.cfi_def_cfa_offset 8
	ret
.L15:
	.cfi_restore_state
	xorl	%eax, %eax
	jmp	.L11
.L18:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE26:
	.size	mizuhasu, .-mizuhasu
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"%d"
.LC1:
	.string	"%d\n"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB27:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	subq	$4096, %rsp
	.cfi_def_cfa_offset 4152
	orq	$0, (%rsp)
	subq	$1960, %rsp
	.cfi_def_cfa_offset 6112
	leaq	.LC0(%rip), %r13
	leaq	D(%rip), %rsi
	movq	%r13, %rdi
	movq	%fs:40, %rax
	movq	%rax, 6040(%rsp)
	xorl	%eax, %eax
	call	__isoc99_scanf@PLT
	cmpl	$1, %eax
	jne	.L22
	leaq	c(%rip), %rbx
	leaq	104(%rbx), %rbp
	jmp	.L23
	.p2align 4,,10
	.p2align 3
.L72:
	addq	$4, %rbx
	cmpq	%rbx, %rbp
	je	.L71
.L23:
	xorl	%eax, %eax
	movq	%rbx, %rsi
	movq	%r13, %rdi
	call	__isoc99_scanf@PLT
	cmpl	$1, %eax
	je	.L72
.L22:
	movl	$1, %eax
.L19:
	movq	6040(%rsp), %rdx
	subq	%fs:40, %rdx
	jne	.L73
	addq	$6056, %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
.L71:
	.cfi_restore_state
	leaq	s(%rip), %rbx
	xorl	%r12d, %r12d
	movq	%rbx, %rbp
.L24:
	movl	D(%rip), %r8d
	cmpl	%r12d, %r8d
	jle	.L74
	leaq	104(%rbp), %r14
	jmp	.L25
	.p2align 4,,10
	.p2align 3
.L76:
	addq	$4, %rbp
	cmpq	%r14, %rbp
	je	.L75
.L25:
	xorl	%eax, %eax
	movq	%rbp, %rsi
	movq	%r13, %rdi
	call	__isoc99_scanf@PLT
	cmpl	$1, %eax
	je	.L76
	jmp	.L22
.L75:
	addq	$1, %r12
	jmp	.L24
.L74:
	leaq	1632(%rsp), %rax
	leaq	4576(%rsp), %r11
	xorl	%r13d, %r13d
	movq	%rax, 24(%rsp)
	pxor	%xmm10, %xmm10
	movq	%r11, 16(%rsp)
.L26:
	cmpl	%r13d, %r8d
	jle	.L77
	movdqa	16+c(%rip), %xmm8
	movdqa	80+c(%rip), %xmm4
	xorl	%r12d, %r12d
	xorl	%r11d, %r11d
	movl	96+c(%rip), %r10d
	movl	100+c(%rip), %r9d
	xorl	%ebp, %ebp
	leal	1(%r13), %esi
	movdqa	32+c(%rip), %xmm7
	movdqa	48+c(%rip), %xmm6
	movdqa	%xmm4, %xmm1
	movdqa	%xmm8, %xmm14
	movdqa	64+c(%rip), %xmm5
	psrlq	$32, %xmm1
	psrlq	$32, %xmm14
	movdqa	%xmm7, %xmm13
	movdqa	%xmm6, %xmm12
	movaps	%xmm1, (%rsp)
	movdqa	%xmm5, %xmm11
	psrlq	$32, %xmm13
	psrlq	$32, %xmm12
	psrlq	$32, %xmm11
.L30:
	movq	16(%rsp), %rdi
	xorl	%eax, %eax
	movl	$13, %ecx
	movq	24(%rsp), %rdx
	rep stosq
	leaq	c(%rip), %rax
	movl	%ebp, (%rdx,%r13,4)
	movq	%rdx, %rcx
	movdqa	(%rax), %xmm9
	xorl	%edx, %edx
	xorl	%eax, %eax
	movdqa	%xmm9, %xmm15
	psrlq	$32, %xmm15
.L27:
	movslq	%edx, %rdi
	addl	$1, %edx
	movslq	(%rcx), %r14
	movdqa	%xmm10, %xmm3
	movd	%edx, %xmm1
	leaq	(%rdi,%rdi,2), %r15
	addq	$4, %rcx
	pshufd	$0, %xmm1, %xmm1
	movl	%edx, 4576(%rsp,%r14,4)
	leaq	(%rdi,%r15,4), %rdi
	movdqa	%xmm1, %xmm2
	leaq	(%r14,%rdi,2), %rdi
	psubd	4576(%rsp), %xmm2
	addl	(%rbx,%rdi,4), %eax
	movdqa	%xmm2, %xmm0
	psrlq	$32, %xmm2
	movl	%eax, %edi
	pmuludq	%xmm9, %xmm0
	pmuludq	%xmm15, %xmm2
	pshufd	$8, %xmm0, %xmm0
	pshufd	$8, %xmm2, %xmm2
	punpckldq	%xmm2, %xmm0
	psubd	%xmm0, %xmm3
	movdqa	%xmm1, %xmm0
	psubd	4592(%rsp), %xmm0
	movdqa	%xmm0, %xmm2
	psrlq	$32, %xmm0
	pmuludq	%xmm8, %xmm2
	pmuludq	%xmm14, %xmm0
	pshufd	$8, %xmm2, %xmm2
	pshufd	$8, %xmm0, %xmm0
	punpckldq	%xmm0, %xmm2
	movdqa	%xmm3, %xmm0
	psubd	%xmm2, %xmm0
	movdqa	%xmm1, %xmm2
	psubd	4608(%rsp), %xmm2
	movdqa	%xmm2, %xmm3
	psrlq	$32, %xmm2
	pmuludq	%xmm7, %xmm3
	pmuludq	%xmm13, %xmm2
	pshufd	$8, %xmm3, %xmm3
	pshufd	$8, %xmm2, %xmm2
	punpckldq	%xmm2, %xmm3
	movdqa	%xmm1, %xmm2
	psubd	4624(%rsp), %xmm2
	psubd	%xmm3, %xmm0
	movdqa	%xmm2, %xmm3
	psrlq	$32, %xmm2
	pmuludq	%xmm6, %xmm3
	pmuludq	%xmm12, %xmm2
	pshufd	$8, %xmm3, %xmm3
	pshufd	$8, %xmm2, %xmm2
	punpckldq	%xmm2, %xmm3
	movdqa	%xmm1, %xmm2
	psubd	4640(%rsp), %xmm2
	psubd	4656(%rsp), %xmm1
	psubd	%xmm3, %xmm0
	movdqa	%xmm2, %xmm3
	psrlq	$32, %xmm2
	pmuludq	%xmm5, %xmm3
	pmuludq	%xmm11, %xmm2
	pshufd	$8, %xmm3, %xmm3
	pshufd	$8, %xmm2, %xmm2
	punpckldq	%xmm2, %xmm3
	movdqa	%xmm1, %xmm2
	psubd	%xmm3, %xmm0
	psrlq	$32, %xmm2
	movdqa	%xmm1, %xmm3
	pmuludq	(%rsp), %xmm2
	pmuludq	%xmm4, %xmm3
	pshufd	$8, %xmm2, %xmm2
	pshufd	$8, %xmm3, %xmm1
	punpckldq	%xmm2, %xmm1
	psubd	%xmm1, %xmm0
	movdqa	%xmm0, %xmm1
	psrldq	$8, %xmm1
	paddd	%xmm1, %xmm0
	movdqa	%xmm0, %xmm1
	psrldq	$4, %xmm1
	paddd	%xmm1, %xmm0
	movd	%xmm0, %eax
	addl	%edi, %eax
	movl	%edx, %edi
	subl	4672(%rsp), %edi
	imull	%r10d, %edi
	subl	%edi, %eax
	movl	%edx, %edi
	subl	4676(%rsp), %edi
	imull	%r9d, %edi
	subl	%edi, %eax
	cmpl	%esi, %edx
	jne	.L27
	cmpl	%eax, %r11d
	jl	.L58
	testl	%ebp, %ebp
	je	.L58
.L28:
	addl	$1, %ebp
	cmpl	$26, %ebp
	jne	.L30
	movq	24(%rsp), %rax
	movl	%r12d, (%rax,%r13,4)
	addq	$1, %r13
	jmp	.L26
	.p2align 4,,10
	.p2align 3
.L58:
	movl	%ebp, %r12d
	movl	%eax, %r11d
	jmp	.L28
.L77:
	movq	24(%rsp), %rsi
	leaq	160(%rsp), %r12
	movl	$182, %ecx
	movl	$17000, 44(%rsp)
	movq	%r12, %rdi
	movq	16(%rsp), %r11
	pxor	%xmm10, %xmm10
	movl	$0, 40(%rsp)
	rep movsq
	movl	$3518437209, %r9d
	movl	(%rsi), %eax
	movl	%eax, (%rdi)
	leal	-1(%r8), %eax
	leaq	4580(%rsp,%rax,4), %r10
	leaq	3104(%rsp), %rax
	movq	%rax, 32(%rsp)
.L31:
	movl	$0, 16(%rsp)
	xorl	%ebp, %ebp
.L47:
	movl	$182, %ecx
	movq	%r11, %rdi
	movq	%r12, %rsi
	rep movsq
	movl	(%rsi), %eax
	movl	%eax, (%rdi)
	testl	%r8d, %r8d
	jle	.L52
	movl	x(%rip), %ecx
	movl	y(%rip), %edi
	movq	%r12, %r14
	movq	%r11, %r13
	movl	z(%rip), %esi
	movl	w(%rip), %eax
	.p2align 4,,10
	.p2align 3
.L36:
	movl	%ecx, %edx
	movl	%edi, %ecx
	movl	%esi, %edi
	jmp	.L33
	.p2align 4,,10
	.p2align 3
.L53:
	movl	%edi, %ecx
	movl	%esi, %edi
.L33:
	movl	%edx, %esi
	sall	$11, %esi
	xorl	%esi, %edx
	movl	%eax, %esi
	shrl	$19, %eax
	xorl	%edx, %eax
	shrl	$8, %edx
	xorl	%esi, %eax
	xorl	%edx, %eax
	movl	%ecx, %edx
	cmpl	$7295, %eax
	jbe	.L53
	movl	%eax, %edx
	movl	%eax, %r15d
	imulq	%r9, %rdx
	shrq	$45, %rdx
	imull	$10000, %edx, %edx
	subl	%edx, %r15d
	cmpl	$29, %r15d
	jbe	.L35
.L34:
	addq	$4, %r13
	addq	$4, %r14
	cmpq	%r13, %r10
	jne	.L36
	movl	%eax, w(%rip)
	xorl	%eax, %eax
	movdqa	80+c(%rip), %xmm4
	xorl	%edx, %edx
	movl	%edi, y(%rip)
	leaq	48(%rsp), %rdi
	movdqa	16+c(%rip), %xmm8
	movl	%ecx, x(%rip)
	movl	$13, %ecx
	movdqa	32+c(%rip), %xmm7
	movdqa	%xmm4, %xmm1
	rep stosq
	movdqa	%xmm8, %xmm14
	psrlq	$32, %xmm1
	leaq	c(%rip), %rax
	movdqa	(%rax), %xmm9
	movdqa	%xmm7, %xmm13
	movaps	%xmm1, (%rsp)
	movdqa	48+c(%rip), %xmm6
	movdqa	64+c(%rip), %xmm5
	movl	96+c(%rip), %r13d
	movl	%esi, z(%rip)
	movq	%r11, %rsi
	movdqa	%xmm9, %xmm15
	movdqa	%xmm6, %xmm12
	movl	100+c(%rip), %edi
	movdqa	%xmm5, %xmm11
	psrlq	$32, %xmm15
	psrlq	$32, %xmm14
	psrlq	$32, %xmm13
	psrlq	$32, %xmm12
	psrlq	$32, %xmm11
	.p2align 4,,10
	.p2align 3
.L38:
	movslq	%ecx, %rax
	addl	$1, %ecx
	movslq	(%rsi), %r14
	addq	$4, %rsi
	movd	%ecx, %xmm1
	leaq	(%rax,%rax,2), %r15
	pshufd	$0, %xmm1, %xmm1
	movl	%ecx, 48(%rsp,%r14,4)
	leaq	(%rax,%r15,4), %rax
	movdqa	%xmm1, %xmm0
	psubd	48(%rsp), %xmm0
	leaq	(%r14,%rax,2), %rax
	addl	(%rbx,%rax,4), %edx
	movdqa	%xmm0, %xmm2
	psrlq	$32, %xmm0
	movl	%edx, %eax
	pmuludq	%xmm9, %xmm2
	pmuludq	%xmm15, %xmm0
	pshufd	$8, %xmm2, %xmm2
	pshufd	$8, %xmm0, %xmm0
	punpckldq	%xmm0, %xmm2
	movdqa	%xmm10, %xmm0
	psubd	%xmm2, %xmm0
	movdqa	%xmm1, %xmm2
	psubd	64(%rsp), %xmm2
	movdqa	%xmm2, %xmm3
	psrlq	$32, %xmm2
	pmuludq	%xmm8, %xmm3
	pmuludq	%xmm14, %xmm2
	pshufd	$8, %xmm3, %xmm3
	pshufd	$8, %xmm2, %xmm2
	punpckldq	%xmm2, %xmm3
	movdqa	%xmm1, %xmm2
	psubd	80(%rsp), %xmm2
	psubd	%xmm3, %xmm0
	movdqa	%xmm2, %xmm3
	psrlq	$32, %xmm2
	pmuludq	%xmm7, %xmm3
	pmuludq	%xmm13, %xmm2
	pshufd	$8, %xmm3, %xmm3
	pshufd	$8, %xmm2, %xmm2
	punpckldq	%xmm2, %xmm3
	movdqa	%xmm1, %xmm2
	psubd	96(%rsp), %xmm2
	psubd	%xmm3, %xmm0
	movdqa	%xmm2, %xmm3
	psrlq	$32, %xmm2
	pmuludq	%xmm6, %xmm3
	pmuludq	%xmm12, %xmm2
	pshufd	$8, %xmm3, %xmm3
	pshufd	$8, %xmm2, %xmm2
	punpckldq	%xmm2, %xmm3
	movdqa	%xmm1, %xmm2
	psubd	112(%rsp), %xmm2
	psubd	128(%rsp), %xmm1
	psubd	%xmm3, %xmm0
	movdqa	%xmm2, %xmm3
	psrlq	$32, %xmm2
	pmuludq	%xmm5, %xmm3
	pmuludq	%xmm11, %xmm2
	pshufd	$8, %xmm3, %xmm3
	pshufd	$8, %xmm2, %xmm2
	punpckldq	%xmm2, %xmm3
	movdqa	%xmm1, %xmm2
	psubd	%xmm3, %xmm0
	psrlq	$32, %xmm2
	movdqa	%xmm1, %xmm3
	pmuludq	(%rsp), %xmm2
	pmuludq	%xmm4, %xmm3
	pshufd	$8, %xmm2, %xmm2
	pshufd	$8, %xmm3, %xmm1
	punpckldq	%xmm2, %xmm1
	psubd	%xmm1, %xmm0
	movdqa	%xmm0, %xmm1
	psrldq	$8, %xmm1
	paddd	%xmm1, %xmm0
	movdqa	%xmm0, %xmm1
	psrldq	$4, %xmm1
	paddd	%xmm1, %xmm0
	movd	%xmm0, %edx
	addl	%eax, %edx
	movl	%ecx, %eax
	subl	144(%rsp), %eax
	imull	%r13d, %eax
	subl	%eax, %edx
	movl	%ecx, %eax
	subl	148(%rsp), %eax
	imull	%edi, %eax
	subl	%eax, %edx
	cmpl	%ecx, %r8d
	jne	.L38
.L32:
	testl	%ebp, %ebp
	je	.L59
	cmpl	16(%rsp), %edx
	jg	.L59
	addl	$1, %ebp
	cmpl	$12, %ebp
	jne	.L47
	movl	16(%rsp), %edx
.L42:
	movq	32(%rsp), %rsi
	movl	$182, %ecx
	movq	%r12, %rdi
	rep movsq
	movl	(%rsi), %eax
	movl	%eax, (%rdi)
	cmpl	%edx, 40(%rsp)
	jge	.L43
	movq	24(%rsp), %rdi
	movq	32(%rsp), %rsi
	movl	$182, %ecx
	rep movsq
	subl	$1, 44(%rsp)
	movl	%eax, (%rdi)
	je	.L45
	movl	%edx, 40(%rsp)
	jmp	.L31
	.p2align 4,,10
	.p2align 3
.L54:
	movl	%esi, %edi
	movl	%edx, %esi
.L35:
	movl	%ecx, %edx
	sall	$11, %edx
	xorl	%edx, %ecx
	movl	%eax, %edx
	shrl	$19, %eax
	xorl	%ecx, %eax
	shrl	$8, %ecx
	xorl	%edx, %eax
	xorl	%ecx, %eax
	movl	%edi, %ecx
	cmpl	$20, %eax
	jbe	.L54
	movl	%eax, %edi
	imulq	$1374389535, %rdi, %rdi
	shrq	$35, %rdi
	leal	(%rdi,%rdi,4), %edi
	leal	(%rdi,%rdi,4), %r15d
	movl	%eax, %edi
	subl	%r15d, %edi
	movl	%edi, 0(%r13)
	cmpl	(%r14), %edi
	jl	.L55
	addl	$1, %edi
	movl	%edi, 0(%r13)
	movl	%esi, %edi
	movl	%edx, %esi
	jmp	.L34
.L55:
	movl	%esi, %edi
	movl	%edx, %esi
	jmp	.L34
.L59:
	movq	32(%rsp), %rdi
	movl	$182, %ecx
	movq	%r11, %rsi
	addl	$1, %ebp
	rep movsq
	movl	(%rsi), %eax
	movl	%eax, (%rdi)
	cmpl	$12, %ebp
	je	.L42
	movl	%edx, 16(%rsp)
	jmp	.L47
.L52:
	xorl	%edx, %edx
	jmp	.L32
.L43:
	subl	$1, 44(%rsp)
	jne	.L31
.L45:
	movq	24(%rsp), %r12
	xorl	%ebx, %ebx
	leaq	.LC1(%rip), %rbp
	jmp	.L46
.L48:
	movl	(%r12,%rbx,4), %eax
	movq	%rbp, %rsi
	movl	$1, %edi
	addq	$1, %rbx
	leal	1(%rax), %edx
	xorl	%eax, %eax
	call	__printf_chk@PLT
.L46:
	cmpl	%ebx, D(%rip)
	jg	.L48
	xorl	%eax, %eax
	jmp	.L19
.L73:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE27:
	.size	main, .-main
	.globl	s
	.bss
	.align 32
	.type	s, @object
	.size	s, 37960
s:
	.zero	37960
	.globl	c
	.align 32
	.type	c, @object
	.size	c, 104
c:
	.zero	104
	.globl	D
	.align 4
	.type	D, @object
	.size	D, 4
D:
	.zero	4
	.data
	.align 4
	.type	w, @object
	.size	w, 4
w:
	.long	88675123
	.align 4
	.type	z, @object
	.size	z, 4
z:
	.long	521288629
	.align 4
	.type	y, @object
	.size	y, 4
y:
	.long	362436069
	.align 4
	.type	x, @object
	.size	x, 4
x:
	.long	123456789
	.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	seed
	.type	seed, @function
seed:
.LFB23:
	.cfi_startproc
	endbr64
	movl	%edx, %eax
	orl	%ecx, %eax
	orl	%esi, %eax
	orl	%edi, %eax
	je	.L1
	movl	%edi, x(%rip)
	movl	%esi, y(%rip)
	movl	%edx, z(%rip)
	movl	%ecx, w(%rip)
.L1:
	ret
	.cfi_endproc
.LFE23:
	.size	seed, .-seed
	.p2align 4
	.globl	randint
	.type	randint, @function
randint:
.LFB24:
	.cfi_startproc
	endbr64
	movl	x(%rip), %eax
	movl	w(%rip), %ecx
	movl	%eax, %edx
	sall	$11, %edx
	xorl	%eax, %edx
	movl	y(%rip), %eax
	movl	%eax, x(%rip)
	movl	z(%rip), %eax
	movl	%ecx, z(%rip)
	movl	%eax, y(%rip)
	movl	%ecx, %eax
	shrl	$19, %eax
	xorl	%ecx, %eax
	xorl	%edx, %eax
	shrl	$8, %edx
	xorl	%edx, %eax
	movl	%eax, w(%rip)
	ret
	.cfi_endproc
.LFE24:
	.size	randint, .-randint
	.p2align 4
	.globl	randint2
	.type	randint2, @function
randint2:
.LFB25:
	.cfi_startproc
	endbr64
	movl	$-1, %eax
	xorl	%edx, %edx
	movl	%edi, %r10d
	movl	y(%rip), %r8d
	divl	%edi
	movl	z(%rip), %r9d
	leal	1(%rdx), %eax
	xorl	%edx, %edx
	divl	%edi
	movl	x(%rip), %edi
	movl	w(%rip), %eax
	jmp	.L9
	.p2align 4,,10
	.p2align 3
.L10:
	movl	%r9d, %r8d
	movl	%esi, %r9d
.L9:
	movl	%edi, %ecx
	movl	%eax, %esi
	shrl	$19, %eax
	sall	$11, %ecx
	xorl	%edi, %ecx
	movl	%r8d, %edi
	xorl	%ecx, %eax
	shrl	$8, %ecx
	xorl	%esi, %eax
	xorl	%ecx, %eax
	cmpl	%eax, %edx
	ja	.L10
	xorl	%edx, %edx
	movl	%eax, w(%rip)
	divl	%r10d
	movl	%r8d, x(%rip)
	movl	%r9d, y(%rip)
	movl	%esi, z(%rip)
	movl	%edx, %eax
	ret
	.cfi_endproc
.LFE25:
	.size	randint2, .-randint2
	.p2align 4
	.globl	mizuhasu
	.type	mizuhasu, @function
mizuhasu:
.LFB26:
	.cfi_startproc
	endbr64
	pushq	%rbx
	.cfi_def_cfa_offset 16
	.cfi_offset 3, -16
	movq	%rdi, %rdx
	movl	$13, %ecx
	addq	$-128, %rsp
	.cfi_def_cfa_offset 144
	movq	%fs:40, %rax
	movq	%rax, 120(%rsp)
	xorl	%eax, %eax
	leaq	16(%rsp), %rdi
	rep stosq
	testl	%esi, %esi
	jle	.L15
	movdqa	80+c(%rip), %xmm4
	movdqa	32+c(%rip), %xmm7
	movl	%esi, %r8d
	leaq	s(%rip), %rdi
	movdqa	48+c(%rip), %xmm6
	movq	%rdx, %rsi
	pxor	%xmm10, %xmm10
	movdqa	c(%rip), %xmm9
	movdqa	%xmm4, %xmm1
	movdqa	64+c(%rip), %xmm5
	movdqa	16+c(%rip), %xmm8
	movdqa	%xmm7, %xmm13
	movdqa	%xmm9, %xmm15
	movdqa	%xmm6, %xmm12
	movl	96+c(%rip), %r10d
	movl	100+c(%rip), %r9d
	movdqa	%xmm8, %xmm14
	psrlq	$32, %xmm1
	movdqa	%xmm5, %xmm11
	psrlq	$32, %xmm15
	psrlq	$32, %xmm14
	movaps	%xmm1, (%rsp)
	psrlq	$32, %xmm13
	psrlq	$32, %xmm12
	psrlq	$32, %xmm11
	.p2align 4,,10
	.p2align 3
.L13:
	movslq	%ecx, %rdx
	addl	$1, %ecx
	movslq	(%rsi), %r11
	addq	$4, %rsi
	movd	%ecx, %xmm1
	leaq	(%rdx,%rdx,2), %rbx
	pshufd	$0, %xmm1, %xmm1
	movl	%ecx, 16(%rsp,%r11,4)
	leaq	(%rdx,%rbx,4), %rdx
	movdqa	%xmm1, %xmm0
	psubd	16(%rsp), %xmm0
	leaq	(%r11,%rdx,2), %rdx
	addl	(%rdi,%rdx,4), %eax
	movdqa	%xmm0, %xmm2
	psrlq	$32, %xmm0
	pmuludq	%xmm9, %xmm2
	pmuludq	%xmm15, %xmm0
	pshufd	$8, %xmm2, %xmm2
	pshufd	$8, %xmm0, %xmm0
	punpckldq	%xmm0, %xmm2
	movdqa	%xmm10, %xmm0
	psubd	%xmm2, %xmm0
	movdqa	%xmm1, %xmm2
	psubd	32(%rsp), %xmm2
	movdqa	%xmm2, %xmm3
	psrlq	$32, %xmm2
	pmuludq	%xmm8, %xmm3
	pmuludq	%xmm14, %xmm2
	pshufd	$8, %xmm3, %xmm3
	pshufd	$8, %xmm2, %xmm2
	punpckldq	%xmm2, %xmm3
	movdqa	%xmm1, %xmm2
	psubd	48(%rsp), %xmm2
	psubd	%xmm3, %xmm0
	movdqa	%xmm2, %xmm3
	psrlq	$32, %xmm2
	pmuludq	%xmm7, %xmm3
	pmuludq	%xmm13, %xmm2
	pshufd	$8, %xmm3, %xmm3
	pshufd	$8, %xmm2, %xmm2
	punpckldq	%xmm2, %xmm3
	movdqa	%xmm1, %xmm2
	psubd	64(%rsp), %xmm2
	psubd	%xmm3, %xmm0
	movdqa	%xmm2, %xmm3
	psrlq	$32, %xmm2
	pmuludq	%xmm6, %xmm3
	pmuludq	%xmm12, %xmm2
	pshufd	$8, %xmm3, %xmm3
	pshufd	$8, %xmm2, %xmm2
	punpckldq	%xmm2, %xmm3
	movdqa	%xmm1, %xmm2
	psubd	80(%rsp), %xmm2
	psubd	%xmm3, %xmm0
	psubd	96(%rsp), %xmm1
	movdqa	%xmm2, %xmm3
	psrlq	$32, %xmm2
	pmuludq	%xmm5, %xmm3
	pmuludq	%xmm11, %xmm2
	pshufd	$8, %xmm3, %xmm3
	pshufd	$8, %xmm2, %xmm2
	punpckldq	%xmm2, %xmm3
	movdqa	%xmm1, %xmm2
	pmuludq	%xmm4, %xmm2
	psrlq	$32, %xmm1
	pmuludq	(%rsp), %xmm1
	pshufd	$8, %xmm1, %xmm1
	psubd	%xmm3, %xmm0
	pshufd	$8, %xmm2, %xmm2
	punpckldq	%xmm1, %xmm2
	psubd	%xmm2, %xmm0
	movdqa	%xmm0, %xmm1
	psrldq	$8, %xmm1
	paddd	%xmm1, %xmm0
	movdqa	%xmm0, %xmm1
	psrldq	$4, %xmm1
	paddd	%xmm1, %xmm0
	movd	%xmm0, %edx
	addl	%edx, %eax
	movl	%ecx, %edx
	subl	112(%rsp), %edx
	imull	%r10d, %edx
	subl	%edx, %eax
	movl	%ecx, %edx
	subl	116(%rsp), %edx
	imull	%r9d, %edx
	subl	%edx, %eax
	cmpl	%r8d, %ecx
	jne	.L13
.L11:
	movq	120(%rsp), %rdx
	subq	%fs:40, %rdx
	jne	.L18
	subq	$-128, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 16
	popq	%rbx
	.cfi_def_cfa_offset 8
	ret
.L15:
	.cfi_restore_state
	xorl	%eax, %eax
	jmp	.L11
.L18:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE26:
	.size	mizuhasu, .-mizuhasu
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"%d"
.LC1:
	.string	"%d\n"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB27:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	subq	$4096, %rsp
	.cfi_def_cfa_offset 4152
	orq	$0, (%rsp)
	subq	$1960, %rsp
	.cfi_def_cfa_offset 6112
	leaq	.LC0(%rip), %r13
	leaq	D(%rip), %rsi
	movq	%r13, %rdi
	movq	%fs:40, %rax
	movq	%rax, 6040(%rsp)
	xorl	%eax, %eax
	call	__isoc99_scanf@PLT
	cmpl	$1, %eax
	jne	.L22
	leaq	c(%rip), %rbx
	leaq	104(%rbx), %rbp
	jmp	.L23
	.p2align 4,,10
	.p2align 3
.L72:
	addq	$4, %rbx
	cmpq	%rbx, %rbp
	je	.L71
.L23:
	xorl	%eax, %eax
	movq	%rbx, %rsi
	movq	%r13, %rdi
	call	__isoc99_scanf@PLT
	cmpl	$1, %eax
	je	.L72
.L22:
	movl	$1, %eax
.L19:
	movq	6040(%rsp), %rdx
	subq	%fs:40, %rdx
	jne	.L73
	addq	$6056, %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
.L71:
	.cfi_restore_state
	leaq	s(%rip), %rbx
	xorl	%r12d, %r12d
	movq	%rbx, %rbp
.L24:
	movl	D(%rip), %r8d
	cmpl	%r12d, %r8d
	jle	.L74
	leaq	104(%rbp), %r14
	jmp	.L25
	.p2align 4,,10
	.p2align 3
.L76:
	addq	$4, %rbp
	cmpq	%r14, %rbp
	je	.L75
.L25:
	xorl	%eax, %eax
	movq	%rbp, %rsi
	movq	%r13, %rdi
	call	__isoc99_scanf@PLT
	cmpl	$1, %eax
	je	.L76
	jmp	.L22
.L75:
	addq	$1, %r12
	jmp	.L24
.L74:
	leaq	1632(%rsp), %rax
	leaq	4576(%rsp), %r11
	xorl	%r13d, %r13d
	movq	%rax, 24(%rsp)
	pxor	%xmm10, %xmm10
	movq	%r11, 16(%rsp)
.L26:
	cmpl	%r13d, %r8d
	jle	.L77
	movdqa	16+c(%rip), %xmm8
	movdqa	80+c(%rip), %xmm4
	xorl	%r12d, %r12d
	xorl	%r11d, %r11d
	movl	96+c(%rip), %r10d
	movl	100+c(%rip), %r9d
	xorl	%ebp, %ebp
	leal	1(%r13), %esi
	movdqa	32+c(%rip), %xmm7
	movdqa	48+c(%rip), %xmm6
	movdqa	%xmm4, %xmm1
	movdqa	%xmm8, %xmm14
	movdqa	64+c(%rip), %xmm5
	psrlq	$32, %xmm1
	psrlq	$32, %xmm14
	movdqa	%xmm7, %xmm13
	movdqa	%xmm6, %xmm12
	movaps	%xmm1, (%rsp)
	movdqa	%xmm5, %xmm11
	psrlq	$32, %xmm13
	psrlq	$32, %xmm12
	psrlq	$32, %xmm11
.L30:
	movq	16(%rsp), %rdi
	xorl	%eax, %eax
	movl	$13, %ecx
	movq	24(%rsp), %rdx
	rep stosq
	leaq	c(%rip), %rax
	movl	%ebp, (%rdx,%r13,4)
	movq	%rdx, %rcx
	movdqa	(%rax), %xmm9
	xorl	%edx, %edx
	xorl	%eax, %eax
	movdqa	%xmm9, %xmm15
	psrlq	$32, %xmm15
.L27:
	movslq	%edx, %rdi
	addl	$1, %edx
	movslq	(%rcx), %r14
	movdqa	%xmm10, %xmm3
	movd	%edx, %xmm1
	leaq	(%rdi,%rdi,2), %r15
	addq	$4, %rcx
	pshufd	$0, %xmm1, %xmm1
	movl	%edx, 4576(%rsp,%r14,4)
	leaq	(%rdi,%r15,4), %rdi
	movdqa	%xmm1, %xmm2
	leaq	(%r14,%rdi,2), %rdi
	psubd	4576(%rsp), %xmm2
	addl	(%rbx,%rdi,4), %eax
	movdqa	%xmm2, %xmm0
	psrlq	$32, %xmm2
	movl	%eax, %edi
	pmuludq	%xmm9, %xmm0
	pmuludq	%xmm15, %xmm2
	pshufd	$8, %xmm0, %xmm0
	pshufd	$8, %xmm2, %xmm2
	punpckldq	%xmm2, %xmm0
	psubd	%xmm0, %xmm3
	movdqa	%xmm1, %xmm0
	psubd	4592(%rsp), %xmm0
	movdqa	%xmm0, %xmm2
	psrlq	$32, %xmm0
	pmuludq	%xmm8, %xmm2
	pmuludq	%xmm14, %xmm0
	pshufd	$8, %xmm2, %xmm2
	pshufd	$8, %xmm0, %xmm0
	punpckldq	%xmm0, %xmm2
	movdqa	%xmm3, %xmm0
	psubd	%xmm2, %xmm0
	movdqa	%xmm1, %xmm2
	psubd	4608(%rsp), %xmm2
	movdqa	%xmm2, %xmm3
	psrlq	$32, %xmm2
	pmuludq	%xmm7, %xmm3
	pmuludq	%xmm13, %xmm2
	pshufd	$8, %xmm3, %xmm3
	pshufd	$8, %xmm2, %xmm2
	punpckldq	%xmm2, %xmm3
	movdqa	%xmm1, %xmm2
	psubd	4624(%rsp), %xmm2
	psubd	%xmm3, %xmm0
	movdqa	%xmm2, %xmm3
	psrlq	$32, %xmm2
	pmuludq	%xmm6, %xmm3
	pmuludq	%xmm12, %xmm2
	pshufd	$8, %xmm3, %xmm3
	pshufd	$8, %xmm2, %xmm2
	punpckldq	%xmm2, %xmm3
	movdqa	%xmm1, %xmm2
	psubd	4640(%rsp), %xmm2
	psubd	4656(%rsp), %xmm1
	psubd	%xmm3, %xmm0
	movdqa	%xmm2, %xmm3
	psrlq	$32, %xmm2
	pmuludq	%xmm5, %xmm3
	pmuludq	%xmm11, %xmm2
	pshufd	$8, %xmm3, %xmm3
	pshufd	$8, %xmm2, %xmm2
	punpckldq	%xmm2, %xmm3
	movdqa	%xmm1, %xmm2
	psubd	%xmm3, %xmm0
	psrlq	$32, %xmm2
	movdqa	%xmm1, %xmm3
	pmuludq	(%rsp), %xmm2
	pmuludq	%xmm4, %xmm3
	pshufd	$8, %xmm2, %xmm2
	pshufd	$8, %xmm3, %xmm1
	punpckldq	%xmm2, %xmm1
	psubd	%xmm1, %xmm0
	movdqa	%xmm0, %xmm1
	psrldq	$8, %xmm1
	paddd	%xmm1, %xmm0
	movdqa	%xmm0, %xmm1
	psrldq	$4, %xmm1
	paddd	%xmm1, %xmm0
	movd	%xmm0, %eax
	addl	%edi, %eax
	movl	%edx, %edi
	subl	4672(%rsp), %edi
	imull	%r10d, %edi
	subl	%edi, %eax
	movl	%edx, %edi
	subl	4676(%rsp), %edi
	imull	%r9d, %edi
	subl	%edi, %eax
	cmpl	%esi, %edx
	jne	.L27
	cmpl	%eax, %r11d
	jl	.L58
	testl	%ebp, %ebp
	je	.L58
.L28:
	addl	$1, %ebp
	cmpl	$26, %ebp
	jne	.L30
	movq	24(%rsp), %rax
	movl	%r12d, (%rax,%r13,4)
	addq	$1, %r13
	jmp	.L26
	.p2align 4,,10
	.p2align 3
.L58:
	movl	%ebp, %r12d
	movl	%eax, %r11d
	jmp	.L28
.L77:
	movq	24(%rsp), %rsi
	leaq	160(%rsp), %r12
	movl	$182, %ecx
	movl	$17000, 44(%rsp)
	movq	%r12, %rdi
	movq	16(%rsp), %r11
	pxor	%xmm10, %xmm10
	movl	$0, 40(%rsp)
	rep movsq
	movl	$3518437209, %r9d
	movl	(%rsi), %eax
	movl	%eax, (%rdi)
	leal	-1(%r8), %eax
	leaq	4580(%rsp,%rax,4), %r10
	leaq	3104(%rsp), %rax
	movq	%rax, 32(%rsp)
.L31:
	movl	$0, 16(%rsp)
	xorl	%ebp, %ebp
.L47:
	movl	$182, %ecx
	movq	%r11, %rdi
	movq	%r12, %rsi
	rep movsq
	movl	(%rsi), %eax
	movl	%eax, (%rdi)
	testl	%r8d, %r8d
	jle	.L52
	movl	x(%rip), %ecx
	movl	y(%rip), %edi
	movq	%r12, %r14
	movq	%r11, %r13
	movl	z(%rip), %esi
	movl	w(%rip), %eax
	.p2align 4,,10
	.p2align 3
.L36:
	movl	%ecx, %edx
	movl	%edi, %ecx
	movl	%esi, %edi
	jmp	.L33
	.p2align 4,,10
	.p2align 3
.L53:
	movl	%edi, %ecx
	movl	%esi, %edi
.L33:
	movl	%edx, %esi
	sall	$11, %esi
	xorl	%esi, %edx
	movl	%eax, %esi
	shrl	$19, %eax
	xorl	%edx, %eax
	shrl	$8, %edx
	xorl	%esi, %eax
	xorl	%edx, %eax
	movl	%ecx, %edx
	cmpl	$7295, %eax
	jbe	.L53
	movl	%eax, %edx
	movl	%eax, %r15d
	imulq	%r9, %rdx
	shrq	$45, %rdx
	imull	$10000, %edx, %edx
	subl	%edx, %r15d
	cmpl	$29, %r15d
	jbe	.L35
.L34:
	addq	$4, %r13
	addq	$4, %r14
	cmpq	%r13, %r10
	jne	.L36
	movl	%eax, w(%rip)
	xorl	%eax, %eax
	movdqa	80+c(%rip), %xmm4
	xorl	%edx, %edx
	movl	%edi, y(%rip)
	leaq	48(%rsp), %rdi
	movdqa	16+c(%rip), %xmm8
	movl	%ecx, x(%rip)
	movl	$13, %ecx
	movdqa	32+c(%rip), %xmm7
	movdqa	%xmm4, %xmm1
	rep stosq
	movdqa	%xmm8, %xmm14
	psrlq	$32, %xmm1
	leaq	c(%rip), %rax
	movdqa	(%rax), %xmm9
	movdqa	%xmm7, %xmm13
	movaps	%xmm1, (%rsp)
	movdqa	48+c(%rip), %xmm6
	movdqa	64+c(%rip), %xmm5
	movl	96+c(%rip), %r13d
	movl	%esi, z(%rip)
	movq	%r11, %rsi
	movdqa	%xmm9, %xmm15
	movdqa	%xmm6, %xmm12
	movl	100+c(%rip), %edi
	movdqa	%xmm5, %xmm11
	psrlq	$32, %xmm15
	psrlq	$32, %xmm14
	psrlq	$32, %xmm13
	psrlq	$32, %xmm12
	psrlq	$32, %xmm11
	.p2align 4,,10
	.p2align 3
.L38:
	movslq	%ecx, %rax
	addl	$1, %ecx
	movslq	(%rsi), %r14
	addq	$4, %rsi
	movd	%ecx, %xmm1
	leaq	(%rax,%rax,2), %r15
	pshufd	$0, %xmm1, %xmm1
	movl	%ecx, 48(%rsp,%r14,4)
	leaq	(%rax,%r15,4), %rax
	movdqa	%xmm1, %xmm0
	psubd	48(%rsp), %xmm0
	leaq	(%r14,%rax,2), %rax
	addl	(%rbx,%rax,4), %edx
	movdqa	%xmm0, %xmm2
	psrlq	$32, %xmm0
	movl	%edx, %eax
	pmuludq	%xmm9, %xmm2
	pmuludq	%xmm15, %xmm0
	pshufd	$8, %xmm2, %xmm2
	pshufd	$8, %xmm0, %xmm0
	punpckldq	%xmm0, %xmm2
	movdqa	%xmm10, %xmm0
	psubd	%xmm2, %xmm0
	movdqa	%xmm1, %xmm2
	psubd	64(%rsp), %xmm2
	movdqa	%xmm2, %xmm3
	psrlq	$32, %xmm2
	pmuludq	%xmm8, %xmm3
	pmuludq	%xmm14, %xmm2
	pshufd	$8, %xmm3, %xmm3
	pshufd	$8, %xmm2, %xmm2
	punpckldq	%xmm2, %xmm3
	movdqa	%xmm1, %xmm2
	psubd	80(%rsp), %xmm2
	psubd	%xmm3, %xmm0
	movdqa	%xmm2, %xmm3
	psrlq	$32, %xmm2
	pmuludq	%xmm7, %xmm3
	pmuludq	%xmm13, %xmm2
	pshufd	$8, %xmm3, %xmm3
	pshufd	$8, %xmm2, %xmm2
	punpckldq	%xmm2, %xmm3
	movdqa	%xmm1, %xmm2
	psubd	96(%rsp), %xmm2
	psubd	%xmm3, %xmm0
	movdqa	%xmm2, %xmm3
	psrlq	$32, %xmm2
	pmuludq	%xmm6, %xmm3
	pmuludq	%xmm12, %xmm2
	pshufd	$8, %xmm3, %xmm3
	pshufd	$8, %xmm2, %xmm2
	punpckldq	%xmm2, %xmm3
	movdqa	%xmm1, %xmm2
	psubd	112(%rsp), %xmm2
	psubd	128(%rsp), %xmm1
	psubd	%xmm3, %xmm0
	movdqa	%xmm2, %xmm3
	psrlq	$32, %xmm2
	pmuludq	%xmm5, %xmm3
	pmuludq	%xmm11, %xmm2
	pshufd	$8, %xmm3, %xmm3
	pshufd	$8, %xmm2, %xmm2
	punpckldq	%xmm2, %xmm3
	movdqa	%xmm1, %xmm2
	psubd	%xmm3, %xmm0
	psrlq	$32, %xmm2
	movdqa	%xmm1, %xmm3
	pmuludq	(%rsp), %xmm2
	pmuludq	%xmm4, %xmm3
	pshufd	$8, %xmm2, %xmm2
	pshufd	$8, %xmm3, %xmm1
	punpckldq	%xmm2, %xmm1
	psubd	%xmm1, %xmm0
	movdqa	%xmm0, %xmm1
	psrldq	$8, %xmm1
	paddd	%xmm1, %xmm0
	movdqa	%xmm0, %xmm1
	psrldq	$4, %xmm1
	paddd	%xmm1, %xmm0
	movd	%xmm0, %edx
	addl	%eax, %edx
	movl	%ecx, %eax
	subl	144(%rsp), %eax
	imull	%r13d, %eax
	subl	%eax, %edx
	movl	%ecx, %eax
	subl	148(%rsp), %eax
	imull	%edi, %eax
	subl	%eax, %edx
	cmpl	%ecx, %r8d
	jne	.L38
.L32:
	testl	%ebp, %ebp
	je	.L59
	cmpl	16(%rsp), %edx
	jg	.L59
	addl	$1, %ebp
	cmpl	$12, %ebp
	jne	.L47
	movl	16(%rsp), %edx
.L42:
	movq	32(%rsp), %rsi
	movl	$182, %ecx
	movq	%r12, %rdi
	rep movsq
	movl	(%rsi), %eax
	movl	%eax, (%rdi)
	cmpl	%edx, 40(%rsp)
	jge	.L43
	movq	24(%rsp), %rdi
	movq	32(%rsp), %rsi
	movl	$182, %ecx
	rep movsq
	subl	$1, 44(%rsp)
	movl	%eax, (%rdi)
	je	.L45
	movl	%edx, 40(%rsp)
	jmp	.L31
	.p2align 4,,10
	.p2align 3
.L54:
	movl	%esi, %edi
	movl	%edx, %esi
.L35:
	movl	%ecx, %edx
	sall	$11, %edx
	xorl	%edx, %ecx
	movl	%eax, %edx
	shrl	$19, %eax
	xorl	%ecx, %eax
	shrl	$8, %ecx
	xorl	%edx, %eax
	xorl	%ecx, %eax
	movl	%edi, %ecx
	cmpl	$20, %eax
	jbe	.L54
	movl	%eax, %edi
	imulq	$1374389535, %rdi, %rdi
	shrq	$35, %rdi
	leal	(%rdi,%rdi,4), %edi
	leal	(%rdi,%rdi,4), %r15d
	movl	%eax, %edi
	subl	%r15d, %edi
	movl	%edi, 0(%r13)
	cmpl	(%r14), %edi
	jl	.L55
	addl	$1, %edi
	movl	%edi, 0(%r13)
	movl	%esi, %edi
	movl	%edx, %esi
	jmp	.L34
.L55:
	movl	%esi, %edi
	movl	%edx, %esi
	jmp	.L34
.L59:
	movq	32(%rsp), %rdi
	movl	$182, %ecx
	movq	%r11, %rsi
	addl	$1, %ebp
	rep movsq
	movl	(%rsi), %eax
	movl	%eax, (%rdi)
	cmpl	$12, %ebp
	je	.L42
	movl	%edx, 16(%rsp)
	jmp	.L47
.L52:
	xorl	%edx, %edx
	jmp	.L32
.L43:
	subl	$1, 44(%rsp)
	jne	.L31
.L45:
	movq	24(%rsp), %r12
	xorl	%ebx, %ebx
	leaq	.LC1(%rip), %rbp
	jmp	.L46
.L48:
	movl	(%r12,%rbx,4), %eax
	movq	%rbp, %rsi
	movl	$1, %edi
	addq	$1, %rbx
	leal	1(%rax), %edx
	xorl	%eax, %eax
	call	__printf_chk@PLT
.L46:
	cmpl	%ebx, D(%rip)
	jg	.L48
	xorl	%eax, %eax
	jmp	.L19
.L73:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE27:
	.size	main, .-main
	.globl	s
	.bss
	.align 32
	.type	s, @object
	.size	s, 37960
s:
	.zero	37960
	.globl	c
	.align 32
	.type	c, @object
	.size	c, 104
c:
	.zero	104
	.globl	D
	.align 4
	.type	D, @object
	.size	D, 4
D:
	.zero	4
	.data
	.align 4
	.type	w, @object
	.size	w, 4
w:
	.long	88675123
	.align 4
	.type	z, @object
	.size	z, 4
z:
	.long	521288629
	.align 4
	.type	y, @object
	.size	y, 4
y:
	.long	362436069
	.align 4
	.type	x, @object
	.size	x, 4
x:
	.long	123456789
	.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 <limits.h>

#ifndef KOTAISUU
#define KOTAISUU 12
#endif
#ifndef SEDAISUU
#define SEDAISUU 17000
#endif
#ifndef KAKURITU
#define KAKURITU 30 /* * 0.01 % */
#endif

#ifndef NO_ENABLE_REVERSE
#define ENABLE_REVERSE
#endif

static unsigned int x=123456789;
static unsigned int y=362436069;
static unsigned int z=521288629;
static unsigned int w=88675123;

void seed(unsigned int a,unsigned int b,unsigned int c,unsigned int d) {
	if((a|b|c|d)==0)return;
	x=a;y=b;z=c;w=d;
}

unsigned int randint(void) {
	unsigned int t;
	t=(x^(x<<11));
	x=y;y=z;z=w;
	w=(w^(w>>19))^(t^(t>>8));
	return w;
}

unsigned int randint2(unsigned int max) {
	unsigned int amari = ((UINT_MAX % max) + 1) % max;
	unsigned int ret;
	do {
		ret = randint();
	} while (ret < amari);
	return ret % max;
}

#define KIND 26
#define MAX 365

struct horieyui {
	int mamegu[MAX];
};

int D;
int c[KIND];
int s[MAX][KIND];

int mizuhasu(const struct horieyui* kitaeri, int n) {
	int sumipe = 0;
	int i, j;
	int last[KIND] = {0};
	for (i = 0; i < n; i++) {
		sumipe += s[i][kitaeri->mamegu[i]];
		last[kitaeri->mamegu[i]] = i + 1;
		for (j = 0; j < KIND; j++) {
			sumipe -= c[j] * ((i + 1) - last[j]);
		}
	}
	return sumipe;
}

int main(void) {
	int i, j;
	struct horieyui otehon;
	struct horieyui saikyou;
	int saikyou_score = 0;
	if (scanf("%d", &D) != 1) return 1;
	for (i = 0; i < KIND; i++) {
		if (scanf("%d", &c[i]) != 1) return 1;
	}
	for (i = 0; i < D; i++) {
		for (j = 0; j < KIND; j++) {
			if (scanf("%d", &s[i][j]) != 1) return 1;
		}
	}

	for (i = 0; i < D; i++) {
		int best = 0, bj = 0;
		for (j = 0; j < KIND; j++) {
			int score;
			saikyou.mamegu[i] = j;
			score = mizuhasu(&saikyou, i + 1);
			if (best < score || j == 0) { best = score; bj = j; }
		}
		saikyou.mamegu[i] = bj;
	}
	otehon = saikyou;

	for (i = 0; i < SEDAISUU; i++) {
		struct horieyui saituyo;
		int saituyo_score = 0;
		for (j = 0; j < KOTAISUU; j++) {
			struct horieyui kore = otehon;
			int k;
			int score;
			for(k = 0; k < D; k++) {
				if (randint2(10000) < KAKURITU) {
					kore.mamegu[k] = randint2(KIND - 1);
					if (kore.mamegu[k] >= otehon.mamegu[k]) kore.mamegu[k]++;
				}
			}
			score = mizuhasu(&kore, D);
			if (j == 0 || score > saituyo_score) {
				saituyo = kore;
				saituyo_score = score;
			}
		}
#ifdef NO_FORCE_UPDATE
		if (saituyo_score > saikyou_score)
#endif
		otehon = saituyo;
		if (saituyo_score > saikyou_score) {
#ifdef PRINT_UPDATE
			fprintf(stderr, "update at generation %d : %d -> %d\n", i + 1, saikyou_score, saituyo_score);
#endif
			saikyou = saituyo;
			saikyou_score = saituyo_score;
		}
	}
	for (i = 0; i < D; i++) {
		printf("%d\n", saikyou.mamegu[i] + 1);
	}
#ifdef PRINT_SCORE
	printf("score = %d\n", saikyou_score < -1000000 ? 0 : 1000000 + saikyou_score);
#endif
	return 0;
}

5
86 90 69 51 2 96 71 47 88 34 45 46 89 34 31 38 97 84 41 80 14 4 50 83 7 82
19771 12979 18912 10432 10544 12928 13403 3047 10527 9740 8100 92 2856 14730 1396 15905 6534 4650 11469 3628 8433 2994 10899 16396 18355 11424
6674 17707 13855 16407 12232 2886 11908 1705 5000 1537 10440 10711 4917 10770 17272 15364 19277 18094 3929 3705 7169 6159 18683 15410 9092 4570
6878 4239 22677 1799 375 9563 3445 5658 19857 11401 6997 6498 19933 3848 2426 2146 19745 16880 17773 18359 3921 14172 16730 11157 5439 256
8633 15862 15303 10749 18499 7792 10317 5901 9395 11433 3514 3959 5202 19850 19469 9790 5653 784 18500 10552 17975 16615 7852 197 8471 7452
19855 17918 7990 10572 4333 438 9140 9104 12622 4985 12319 4028 19922 12132 16259 17476 2976 547 19195 19830 16285 4806 4471 9457 2864 2192
 5
86 90 69 51 2 96 71 47 88 34 45 46 89 34 31 38 97 84 41 80 14 4 50 83 7 82
19771 12979 18912 10432 10544 12928 13403 3047 10527 9740 8100 92 2856 3754 1396 15905 6534 4650 11469 3628 8433 2994 10899 16396 18355 11424
6674 17707 13855 7119 12232 2886 11908 1705 5000 1537 10440 10711 4917 10770 17272 15364 19277 18094 3929 3705 7169 6159 18683 15410 9092 4570
6878 4239 22677 1799 375 9563 3445 5658 19857 11401 6997 6498 19933 3848 2426 2146 19745 16880 17773 18359 3921 14172 16730 11157 5439 256
8633 22603 15303 10749 18499 7792 10317 5901 9395 11433 3514 3959 5202 19850 19469 9790 5653 784 18500 10552 17975 16615 7852 197 8471 7452
19855 17918 7990 10572 4333 438 9140 9104 12622 4985 12319 4028 19922 12132 16259 17476 2976 1041 19195 19830 16285 4806 4471 9457 2864 2407
 5
86 90 69 51 2 96 71 47 88 34 45 46 89 34 31 38 97 84 41 80 14 4 50 83 7 82
19771 12979 18912 10432 10544 12928 13403 3047 10527 9740 8100 92 2856 3754 1396 15905 6534 4650 11469 3628 8433 2994 10899 16396 18355 11424
6674 17707 13855 7119 12232 2886 11908 1705 5000 1537 10440 10711 4917 10770 17272 15364 19277 18094 3929 3705 7169 6159 18683 15410 9092 4570
6878 4239 22677 1799 375 9563 3445 5658 19857 11401 6997 6498 19933 3848 2426 2146 19745 16880 27396 18359 3921 14172 16730 11157 5439 256
8633 22603 15303 10749 18499 7792 10317 5901 9395 11433 3514 3959 5202 19850 19469 9790 5653 784 18500 10552 17975 16615 7852 197 8471 7452
19855 17918 7990 10572 4333 438 9140 9104 12622 4985 12319 4028 19922 12132 16259 17476 2976 1041 19195 19830 16285 4806 4471 9457 2864 2407
 5
86 90 69 51 2 96 71 47 88 34 45 46 89 34 31 38 97 84 41 101 14 4 76 83 7 82
19771 12979 18912 10432 10544 12928 13403 3047 10527 9740 8100 92 2856 3754 1396 15905 6534 4650 11469 3628 8433 2994 10899 16396 18355 11424
6219 17707 13855 7119 12232 2886 11908 1705 5000 1537 10440 10711 4917 10770 17272 15364 19277 18094 3929 3705 7169 6159 18683 21588 9092 4570
6878 4239 22677 1759 375 9563 3445 5658 19857 11401 6997 6498 19933 3848 2426 2146 19745 16880 27396 18359 3921 14172 16730 11157 5439 256
8633 22603 15303 10749 18499 7792 10317 5901 9395 11433 3514 3959 5202 19850 19469 9790 5653 784 18500 10552 17975 16615 7852 241 8471 7452
19855 17918 7990 10572 4333 438 9140 9104 12622 4985 12319 4028 33981 12132 16259 17476 2976 1041 19195 19830 16285 4806 4471 9457 2864 2407
 5
86 90 69 51 2 96 71 47 88 34 45 46 89 34 31 38 97 84 41 101 14 4 76 83 7 82
19771 12979 18912 10432 10544 12928 13403 3047 10527 9740 8100 92 2856 3754 1396 15905 6534 4650 11469 3628 8433 2994 10899 16396 18355 11424
6219 17707 13855 7119 12232 2886 11908 1705 5000 1537 10440 10711 4917 10770 21670 15364 19277 18094 3929 3705 7169 6159 18683 21588 9092 4570
6878 4239 22677 1759 375 9563 3445 5658 19857 11401 6997 6498 19933 3848 2426 2146 19745 16880 27396 18359 3921 14172 16730 11157 5439 256
8633 22603 15303 10749 18499 7792 10317 5901 9395 11433 3514 3959 5202 19850 19469 9790 5653 784 18500 10552 17975 16615 7852 241 8471 7452
19855 17918 7990 10572 4333 438 9140 9104 12622 4985 12319 4028 33981 12132 16259 17476 2976 1041 19195 19830 16285 4806 4471 9457 2864 2407
 5
86 90 69 51 2 96 71 47 88 34 45 46 89 34 31 38 97 84 41 101 14 4 76 83 7 82
19771 12979 18912 10432 10544 12928 13403 3047 10527 9740 8100 92 2856 3754 1396 15905 6534 4650 11469 3628 8433 2994 10899 16396 18355 11424
6219 17707 25311 7119 12232 2886 11908 1705 5000 1537 10440 10711 4917 10770 21670 15364 19277 18094 3929 3705 7169 6159 18683 21588 9092 4570
6878 4239 22677 1759 375 9563 3445 5658 19857 11401 6997 6498 19933 3848 2426 2146 19745 16880 27396 18359 3921 14172 16730 11157 5439 256
8633 22603 15303 10749 18499 7792 10317 5901 9395 11433 3514 3959 5202 19850 19469 9790 3970 784 18500 10552 8524 16615 7852 241 8471 7452
19855 17918 7990 10572 4333 438 9140 9104 12622 4985 12319 4028 33981 12132 16259 17476 2976 1041 19195 19830 16285 4806 4471 9457 2864 2407
 5
86 90 69 72 2 96 71 47 88 34 45 46 89 34 31 38 122 84 41 101 14 4 76 83 7 82
19771 12979 18912 10432 10544 12928 11856 3047 10527 16213 8100 80 2856 5573 2311 15905 6534 4650 11469 3628 8433 2994 10899 16396 18355 11424
6219 29385 25311 7119 12232 2645 5242 1705 5000 1537 6096 10711 4917 20074 21670 15364 19277 18094 3929 3705 7169 6159 18683 21588 9092 4570
6878 4239 22677 1759 375 9563 3445 1349 19857 11401 6997 6498 19335 3848 2426 1667 19745 16880 27396 18359 3921 14172 16719 11157 5439 72
778 22603 15303 12418 18499 2415 10317 5901 9395 11433 6401 3959 5202 19850 19469 9790 3970 784 18500 10552 8524 16615 7852 241 8471 7452
19855 17918 7990 10572 4447 520 9140 12528 12622 4985 12319 4028 33981 12132 16259 17476 2976 1041 19195 19830 16285 4806 4471 9457 2864 2407
 5
86 90 69 72 2 96 71 47 88 34 45 46 89 34 31 38 122 84 41 101 14 4 76 83 7 82
19771 12979 18912 10432 10544 12928 11856 3047 10527 16213 8100 80 2856 5573 2311 15905 6534 4650 11469 3628 8433 2994 10899 16396 18355 11424
6219 29385 25311 7119 12232 2645 5242 1705 5000 1537 6096 10711 4917 20074 21670 15364 19277 18094 3929 3705 7169 6159 18683 21588 9092 4570
6878 4239 22677 1759 375 9563 3445 1349 19857 11401 6997 6498 19335 3848 2426 1667 19745 16880 27396 18359 3921 14172 16719 11157 5439 72
778 22603 15303 12418 32497 2415 10317 5901 9395 11433 6401 3959 5202 19850 19469 9790 3970 784 18500 10552 8524 16615 7852 241 8471 7452
19855 17918 7990 10572 4447 520 9140 12528 12622 4985 12319 4028 33981 12132 16259 17476 2976 1041 19195 19830 16285 4806 4471 9457 2864 2407
 5
86 90 69 72 2 96 71 47 88 34 45 46 89 34 31 38 122 84 41 101 14 4 76 83 7 82
19771 12979 18912 10432 10544 12928 11856 3047 10527 16213 8100 80 2856 5573 2311 15905 6534 4650 11469 3628 8433 2994 10899 16396 18355 11424
6219 29385 25311 7119 12232 2645 5242 1705 5000 1537 6096 10711 4917 20074 21670 15364 29735 18094 3929 3705 7169 6159 18683 21588 9092 4570
6878 4239 22677 1759 375 9563 3445 1349 19857 11401 6997 6498 19335 3848 2426 1667 19745 16880 27396 18359 3921 14172 16719 11157 5439 72
778 22603 15303 12418 32497 2415 10317 5901 9395 11433 6401 3959 5202 19850 19469 2289 3970 784 18500 10552 8524 16615 7852 241 8471 7452
19855 17918 7990 10572 4447 520 9140 12528 12622 4985 12319 4028 33981 12132 16259 17476 2976 1041 19195 19830 16285 4806 4471 9457 2864 2407
 5
86 90 69 72 2 96 71 47 88 34 45 46 89 34 31 38 122 84 41 101 14 4 76 83 7 82
19771 12979 18912 10432 10544 12928 11856 3047 10527 16213 8100 80 2856 5573 2311 15905 6534 4650 11469 3628 8433 2994 10899 16396 18355 11424
6219 29385 25311 7119 12232 2645 5242 1705 5000 1537 6096 10711 4917 20074 21670 15364 29735 18094 3929 3705 7169 6159 18683 21588 9092 4570
6878 4239 22677 1759 375 9563 3445 1349 19857 11401 6997 6498 19335 3848 2426 1667 19745 28285 27396 18359 3921 14172 16719 11157 5439 72
778 22603 15303 12418 32497 2415 10317 5901 9395 11433 6401 3959 5202 19850 19469 2289 3970 784 18500 10552 8524 16615 7852 241 8471 7452
19855 17918 7990 10572 4447 520 9140 12528 12622 4985 12319 4028 33981 12132 16259 17476 2976 1041 19195 19830 16285 4806 4471 9457 2864 2407

1
17
3
14
13
 1
17
3
2
13
 1
17
19
2
13
 1
24
19
2
13
 1
24
19
2
13
 1
3
19
2
13
 1
2
19
2
13
 1
2
19
5
13
 1
17
19
5
13
 1
17
18
5
13

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

#ifndef KOTAISUU
#define KOTAISUU 12
#endif
#ifndef SEDAISUU
#define SEDAISUU 17000
#endif
#ifndef KAKURITU
#define KAKURITU 30 /* * 0.01 % */
#endif

#ifndef NO_ENABLE_REVERSE
#define ENABLE_REVERSE
#endif

static unsigned int x=123456789;
static unsigned int y=362436069;
static unsigned int z=521288629;
static unsigned int w=88675123;

void seed(unsigned int a,unsigned int b,unsigned int c,unsigned int d) {
	if((a|b|c|d)==0)return;
	x=a;y=b;z=c;w=d;
}

unsigned int randint(void) {
	unsigned int t;
	t=(x^(x<<11));
	x=y;y=z;z=w;
	w=(w^(w>>19))^(t^(t>>8));
	return w;
}

unsigned int randint2(unsigned int max) {
	unsigned int amari = ((UINT_MAX % max) + 1) % max;
	unsigned int ret;
	do {
		ret = randint();
	} while (ret < amari);
	return ret % max;
}

#define KIND 26
#define MAX 365

struct horieyui {
	int mamegu[MAX];
};

int D;
int c[KIND];
int s[MAX][KIND];

int mizuhasu(const struct horieyui* kitaeri, int n) {
	int sumipe = 0;
	int i, j;
	int last[KIND] = {0};
	for (i = 0; i < n; i++) {
		sumipe += s[i][kitaeri->mamegu[i]];
		last[kitaeri->mamegu[i]] = i + 1;
		for (j = 0; j < KIND; j++) {
			sumipe -= c[j] * ((i + 1) - last[j]);
		}
	}
	return sumipe;
}

int main(void) {
	int i, j;
	struct horieyui otehon;
	struct horieyui saikyou;
	int saikyou_score = 0;
	if (scanf("%d", &D) != 1) return 1;
	for (i = 0; i < KIND; i++) {
		if (scanf("%d", &c[i]) != 1) return 1;
	}
	for (i = 0; i < D; i++) {
		for (j = 0; j < KIND; j++) {
			if (scanf("%d", &s[i][j]) != 1) return 1;
		}
	}

	for (i = 0; i < D; i++) {
		int best = 0, bj = 0;
		for (j = 0; j < KIND; j++) {
			int score;
			saikyou.mamegu[i] = j;
			score = mizuhasu(&saikyou, i + 1);
			if (best < score || j == 0) { best = score; bj = j; }
		}
		saikyou.mamegu[i] = bj;
	}
	otehon = saikyou;

	for (i = 0; i < SEDAISUU; i++) {
		struct horieyui saituyo;
		int saituyo_score = 0;
		for (j = 0; j < KOTAISUU; j++) {
			struct horieyui kore = otehon;
			int k;
			int score;
			for(k = 0; k < D; k++) {
				if (randint2(10000) < KAKURITU) {
					kore.mamegu[k] = randint2(KIND - 1);
					if (kore.mamegu[k] >= otehon.mamegu[k]) kore.mamegu[k]++;
				}
			}
			score = mizuhasu(&kore, D);
			if (j == 0 || score > saituyo_score) {
				saituyo = kore;
				saituyo_score = score;
			}
		}
#ifdef NO_FORCE_UPDATE
		if (saituyo_score > saikyou_score)
#endif
		otehon = saituyo;
		if (saituyo_score > saikyou_score) {
#ifdef PRINT_UPDATE
			fprintf(stderr, "update at generation %d : %d -> %d\n", i + 1, saikyou_score, saituyo_score);
#endif
			saikyou = saituyo;
			saikyou_score = saituyo_score;
		}
	}
	for (i = 0; i < D; i++) {
		printf("%d\n", saikyou.mamegu[i] + 1);
	}
#ifdef PRINT_SCORE
	printf("score = %d\n", saikyou_score < -1000000 ? 0 : 1000000 + saikyou_score);
#endif
	return 0;
}
```

Unoptimized Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.data
	.align 4
	.type	x, @object
	.size	x, 4
x:
	.long	123456789
	.align 4
	.type	y, @object
	.size	y, 4
y:
	.long	362436069
	.align 4
	.type	z, @object
	.size	z, 4
z:
	.long	521288629
	.align 4
	.type	w, @object
	.size	w, 4
w:
	.long	88675123
	.text
	.globl	seed
	.type	seed, @function
seed:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movl	%edi, -4(%rbp)
	movl	%esi, -8(%rbp)
	movl	%edx, -12(%rbp)
	movl	%ecx, -16(%rbp)
	movl	-4(%rbp), %eax
	orl	-8(%rbp), %eax
	orl	-12(%rbp), %eax
	orl	-16(%rbp), %eax
	testl	%eax, %eax
	je	.L4
	movl	-4(%rbp), %eax
	movl	%eax, x(%rip)
	movl	-8(%rbp), %eax
	movl	%eax, y(%rip)
	movl	-12(%rbp), %eax
	movl	%eax, z(%rip)
	movl	-16(%rbp), %eax
	movl	%eax, w(%rip)
	jmp	.L1
.L4:
	nop
.L1:
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	seed, .-seed
	.globl	randint
	.type	randint, @function
randint:
.LFB1:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movl	x(%rip), %eax
	sall	$11, %eax
	movl	%eax, %edx
	movl	x(%rip), %eax
	xorl	%edx, %eax
	movl	%eax, -4(%rbp)
	movl	y(%rip), %eax
	movl	%eax, x(%rip)
	movl	z(%rip), %eax
	movl	%eax, y(%rip)
	movl	w(%rip), %eax
	movl	%eax, z(%rip)
	movl	w(%rip), %eax
	shrl	$19, %eax
	movl	%eax, %edx
	movl	w(%rip), %eax
	xorl	%eax, %edx
	movl	-4(%rbp), %eax
	shrl	$8, %eax
	xorl	-4(%rbp), %eax
	xorl	%edx, %eax
	movl	%eax, w(%rip)
	movl	w(%rip), %eax
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	randint, .-randint
	.globl	randint2
	.type	randint2, @function
randint2:
.LFB2:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$24, %rsp
	movl	%edi, -20(%rbp)
	movl	$-1, %eax
	movl	$0, %edx
	divl	-20(%rbp)
	movl	%edx, %eax
	addl	$1, %eax
	movl	$0, %edx
	divl	-20(%rbp)
	movl	%edx, -8(%rbp)
.L8:
	call	randint
	movl	%eax, -4(%rbp)
	movl	-4(%rbp), %eax
	cmpl	-8(%rbp), %eax
	jb	.L8
	movl	-4(%rbp), %eax
	movl	$0, %edx
	divl	-20(%rbp)
	movl	%edx, %eax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	randint2, .-randint2
	.globl	D
	.bss
	.align 4
	.type	D, @object
	.size	D, 4
D:
	.zero	4
	.globl	c
	.align 32
	.type	c, @object
	.size	c, 104
c:
	.zero	104
	.globl	s
	.align 32
	.type	s, @object
	.size	s, 37960
s:
	.zero	37960
	.text
	.globl	mizuhasu
	.type	mizuhasu, @function
mizuhasu:
.LFB3:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$144, %rsp
	movq	%rdi, -136(%rbp)
	movl	%esi, -140(%rbp)
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movl	$0, -124(%rbp)
	leaq	-112(%rbp), %rdx
	movl	$0, %eax
	movl	$13, %ecx
	movq	%rdx, %rdi
	rep stosq
	movl	$0, -120(%rbp)
	jmp	.L11
.L14:
	movq	-136(%rbp), %rax
	movl	-120(%rbp), %edx
	movslq	%edx, %rdx
	movl	(%rax,%rdx,4), %eax
	movslq	%eax, %rcx
	movl	-120(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	s(%rip), %rax
	movl	(%rdx,%rax), %eax
	addl	%eax, -124(%rbp)
	movq	-136(%rbp), %rax
	movl	-120(%rbp), %edx
	movslq	%edx, %rdx
	movl	(%rax,%rdx,4), %eax
	movl	-120(%rbp), %edx
	addl	$1, %edx
	cltq
	movl	%edx, -112(%rbp,%rax,4)
	movl	$0, -116(%rbp)
	jmp	.L12
.L13:
	movl	-116(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	c(%rip), %rax
	movl	(%rdx,%rax), %edx
	movl	-120(%rbp), %eax
	leal	1(%rax), %ecx
	movl	-116(%rbp), %eax
	cltq
	movl	-112(%rbp,%rax,4), %esi
	movl	%ecx, %eax
	subl	%esi, %eax
	imull	%edx, %eax
	subl	%eax, -124(%rbp)
	addl	$1, -116(%rbp)
.L12:
	cmpl	$25, -116(%rbp)
	jle	.L13
	addl	$1, -120(%rbp)
.L11:
	movl	-120(%rbp), %eax
	cmpl	-140(%rbp), %eax
	jl	.L14
	movl	-124(%rbp), %eax
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L16
	call	__stack_chk_fail@PLT
.L16:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	mizuhasu, .-mizuhasu
	.section	.rodata
.LC0:
	.string	"%d"
.LC1:
	.string	"%d\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB4:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$4096, %rsp
	orq	$0, (%rsp)
	subq	$1840, %rsp
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movl	$0, -5916(%rbp)
	leaq	D(%rip), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	cmpl	$1, %eax
	je	.L18
	movl	$1, %eax
	jmp	.L46
.L18:
	movl	$0, -5924(%rbp)
	jmp	.L20
.L22:
	movl	-5924(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	c(%rip), %rax
	addq	%rdx, %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	cmpl	$1, %eax
	je	.L21
	movl	$1, %eax
	jmp	.L46
.L21:
	addl	$1, -5924(%rbp)
.L20:
	cmpl	$25, -5924(%rbp)
	jle	.L22
	movl	$0, -5924(%rbp)
	jmp	.L23
.L27:
	movl	$0, -5920(%rbp)
	jmp	.L24
.L26:
	movl	-5920(%rbp), %eax
	movslq	%eax, %rcx
	movl	-5924(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	s(%rip), %rax
	addq	%rdx, %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	cmpl	$1, %eax
	je	.L25
	movl	$1, %eax
	jmp	.L46
.L25:
	addl	$1, -5920(%rbp)
.L24:
	cmpl	$25, -5920(%rbp)
	jle	.L26
	addl	$1, -5924(%rbp)
.L23:
	movl	D(%rip), %eax
	cmpl	%eax, -5924(%rbp)
	jl	.L27
	movl	$0, -5924(%rbp)
	jmp	.L28
.L33:
	movl	$0, -5912(%rbp)
	movl	$0, -5908(%rbp)
	movl	$0, -5920(%rbp)
	jmp	.L29
.L32:
	movl	-5924(%rbp), %eax
	cltq
	movl	-5920(%rbp), %edx
	movl	%edx, -4416(%rbp,%rax,4)
	movl	-5924(%rbp), %eax
	leal	1(%rax), %edx
	leaq	-4416(%rbp), %rax
	movl	%edx, %esi
	movq	%rax, %rdi
	call	mizuhasu
	movl	%eax, -5892(%rbp)
	movl	-5912(%rbp), %eax
	cmpl	-5892(%rbp), %eax
	jl	.L30
	cmpl	$0, -5920(%rbp)
	jne	.L31
.L30:
	movl	-5892(%rbp), %eax
	movl	%eax, -5912(%rbp)
	movl	-5920(%rbp), %eax
	movl	%eax, -5908(%rbp)
.L31:
	addl	$1, -5920(%rbp)
.L29:
	cmpl	$25, -5920(%rbp)
	jle	.L32
	movl	-5924(%rbp), %eax
	cltq
	movl	-5908(%rbp), %edx
	movl	%edx, -4416(%rbp,%rax,4)
	addl	$1, -5924(%rbp)
.L28:
	movl	D(%rip), %eax
	cmpl	%eax, -5924(%rbp)
	jl	.L33
	leaq	-5888(%rbp), %rdx
	leaq	-4416(%rbp), %rax
	movl	$182, %ecx
	movq	%rdx, %rdi
	movq	%rax, %rsi
	rep movsq
	movq	%rsi, %rax
	movq	%rdi, %rdx
	movl	(%rax), %ecx
	movl	%ecx, (%rdx)
	movl	$0, -5924(%rbp)
	jmp	.L34
.L43:
	movl	$0, -5904(%rbp)
	movl	$0, -5920(%rbp)
	jmp	.L35
.L41:
	leaq	-1472(%rbp), %rdx
	leaq	-5888(%rbp), %rax
	movl	$182, %ecx
	movq	%rdx, %rdi
	movq	%rax, %rsi
	rep movsq
	movq	%rsi, %rax
	movq	%rdi, %rdx
	movl	(%rax), %ecx
	movl	%ecx, (%rdx)
	movl	$0, -5900(%rbp)
	jmp	.L36
.L38:
	movl	$10000, %edi
	call	randint2
	cmpl	$29, %eax
	ja	.L37
	movl	$25, %edi
	call	randint2
	movl	%eax, %edx
	movl	-5900(%rbp), %eax
	cltq
	movl	%edx, -1472(%rbp,%rax,4)
	movl	-5900(%rbp), %eax
	cltq
	movl	-1472(%rbp,%rax,4), %edx
	movl	-5900(%rbp), %eax
	cltq
	movl	-5888(%rbp,%rax,4), %eax
	cmpl	%eax, %edx
	jl	.L37
	movl	-5900(%rbp), %eax
	cltq
	movl	-1472(%rbp,%rax,4), %eax
	leal	1(%rax), %edx
	movl	-5900(%rbp), %eax
	cltq
	movl	%edx, -1472(%rbp,%rax,4)
.L37:
	addl	$1, -5900(%rbp)
.L36:
	movl	D(%rip), %eax
	cmpl	%eax, -5900(%rbp)
	jl	.L38
	movl	D(%rip), %edx
	leaq	-1472(%rbp), %rax
	movl	%edx, %esi
	movq	%rax, %rdi
	call	mizuhasu
	movl	%eax, -5896(%rbp)
	cmpl	$0, -5920(%rbp)
	je	.L39
	movl	-5896(%rbp), %eax
	cmpl	-5904(%rbp), %eax
	jle	.L40
.L39:
	leaq	-2944(%rbp), %rdx
	leaq	-1472(%rbp), %rax
	movl	$182, %ecx
	movq	%rdx, %rdi
	movq	%rax, %rsi
	rep movsq
	movq	%rsi, %rax
	movq	%rdi, %rdx
	movl	(%rax), %ecx
	movl	%ecx, (%rdx)
	movl	-5896(%rbp), %eax
	movl	%eax, -5904(%rbp)
.L40:
	addl	$1, -5920(%rbp)
.L35:
	cmpl	$11, -5920(%rbp)
	jle	.L41
	leaq	-5888(%rbp), %rdx
	leaq	-2944(%rbp), %rax
	movl	$182, %ecx
	movq	%rdx, %rdi
	movq	%rax, %rsi
	rep movsq
	movq	%rsi, %rax
	movq	%rdi, %rdx
	movl	(%rax), %ecx
	movl	%ecx, (%rdx)
	movl	-5904(%rbp), %eax
	cmpl	-5916(%rbp), %eax
	jle	.L42
	leaq	-4416(%rbp), %rdx
	leaq	-2944(%rbp), %rax
	movl	$182, %ecx
	movq	%rdx, %rdi
	movq	%rax, %rsi
	rep movsq
	movq	%rsi, %rax
	movq	%rdi, %rdx
	movl	(%rax), %ecx
	movl	%ecx, (%rdx)
	movl	-5904(%rbp), %eax
	movl	%eax, -5916(%rbp)
.L42:
	addl	$1, -5924(%rbp)
.L34:
	cmpl	$16999, -5924(%rbp)
	jle	.L43
	movl	$0, -5924(%rbp)
	jmp	.L44
.L45:
	movl	-5924(%rbp), %eax
	cltq
	movl	-4416(%rbp,%rax,4), %eax
	addl	$1, %eax
	movl	%eax, %esi
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	addl	$1, -5924(%rbp)
.L44:
	movl	D(%rip), %eax
	cmpl	%eax, -5924(%rbp)
	jl	.L45
	movl	$0, %eax
.L46:
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L47
	call	__stack_chk_fail@PLT
.L47:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	main, .-main
	.ident	"GCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	1f - 0f
	.long	4f - 1f
	.long	5
0:
	.string	"GNU"
1:
	.align 8
	.long	0xc0000002
	.long	3f - 2f
2:
	.long	0x3
3:
	.align 8
4:
```

Only output the optimized assembly code. Do not include any other text. Do not write any comments in the assembly code. Wrap the assembly code in ```assembly``` tags.
train
	.file	"temp.c"
	.text
	.data
	.align 4
	.type	x, @object
	.size	x, 4
x:
	.long	123456789
	.align 4
	.type	y, @object
	.size	y, 4
y:
	.long	362436069
	.align 4
	.type	z, @object
	.size	z, 4
z:
	.long	521288629
	.align 4
	.type	w, @object
	.size	w, 4
w:
	.long	88675123
	.text
	.globl	seed
	.type	seed, @function
seed:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movl	%edi, -4(%rbp)
	movl	%esi, -8(%rbp)
	movl	%edx, -12(%rbp)
	movl	%ecx, -16(%rbp)
	movl	-4(%rbp), %eax
	orl	-8(%rbp), %eax
	orl	-12(%rbp), %eax
	orl	-16(%rbp), %eax
	testl	%eax, %eax
	je	.L4
	movl	-4(%rbp), %eax
	movl	%eax, x(%rip)
	movl	-8(%rbp), %eax
	movl	%eax, y(%rip)
	movl	-12(%rbp), %eax
	movl	%eax, z(%rip)
	movl	-16(%rbp), %eax
	movl	%eax, w(%rip)
	jmp	.L1
.L4:
	nop
.L1:
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	seed, .-seed
	.globl	randint
	.type	randint, @function
randint:
.LFB1:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movl	x(%rip), %eax
	sall	$11, %eax
	movl	%eax, %edx
	movl	x(%rip), %eax
	xorl	%edx, %eax
	movl	%eax, -4(%rbp)
	movl	y(%rip), %eax
	movl	%eax, x(%rip)
	movl	z(%rip), %eax
	movl	%eax, y(%rip)
	movl	w(%rip), %eax
	movl	%eax, z(%rip)
	movl	w(%rip), %eax
	shrl	$19, %eax
	movl	%eax, %edx
	movl	w(%rip), %eax
	xorl	%eax, %edx
	movl	-4(%rbp), %eax
	shrl	$8, %eax
	xorl	-4(%rbp), %eax
	xorl	%edx, %eax
	movl	%eax, w(%rip)
	movl	w(%rip), %eax
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	randint, .-randint
	.globl	randint2
	.type	randint2, @function
randint2:
.LFB2:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$24, %rsp
	movl	%edi, -20(%rbp)
	movl	$-1, %eax
	movl	$0, %edx
	divl	-20(%rbp)
	movl	%edx, %eax
	addl	$1, %eax
	movl	$0, %edx
	divl	-20(%rbp)
	movl	%edx, -8(%rbp)
.L8:
	call	randint
	movl	%eax, -4(%rbp)
	movl	-4(%rbp), %eax
	cmpl	-8(%rbp), %eax
	jb	.L8
	movl	-4(%rbp), %eax
	movl	$0, %edx
	divl	-20(%rbp)
	movl	%edx, %eax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	randint2, .-randint2
	.globl	D
	.bss
	.align 4
	.type	D, @object
	.size	D, 4
D:
	.zero	4
	.globl	c
	.align 32
	.type	c, @object
	.size	c, 104
c:
	.zero	104
	.globl	s
	.align 32
	.type	s, @object
	.size	s, 37960
s:
	.zero	37960
	.text
	.globl	mizuhasu
	.type	mizuhasu, @function
mizuhasu:
.LFB3:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$144, %rsp
	movq	%rdi, -136(%rbp)
	movl	%esi, -140(%rbp)
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movl	$0, -124(%rbp)
	leaq	-112(%rbp), %rdx
	movl	$0, %eax
	movl	$13, %ecx
	movq	%rdx, %rdi
	rep stosq
	movl	$0, -120(%rbp)
	jmp	.L11
.L14:
	movq	-136(%rbp), %rax
	movl	-120(%rbp), %edx
	movslq	%edx, %rdx
	movl	(%rax,%rdx,4), %eax
	movslq	%eax, %rcx
	movl	-120(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	s(%rip), %rax
	movl	(%rdx,%rax), %eax
	addl	%eax, -124(%rbp)
	movq	-136(%rbp), %rax
	movl	-120(%rbp), %edx
	movslq	%edx, %rdx
	movl	(%rax,%rdx,4), %eax
	movl	-120(%rbp), %edx
	addl	$1, %edx
	cltq
	movl	%edx, -112(%rbp,%rax,4)
	movl	$0, -116(%rbp)
	jmp	.L12
.L13:
	movl	-116(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	c(%rip), %rax
	movl	(%rdx,%rax), %edx
	movl	-120(%rbp), %eax
	leal	1(%rax), %ecx
	movl	-116(%rbp), %eax
	cltq
	movl	-112(%rbp,%rax,4), %esi
	movl	%ecx, %eax
	subl	%esi, %eax
	imull	%edx, %eax
	subl	%eax, -124(%rbp)
	addl	$1, -116(%rbp)
.L12:
	cmpl	$25, -116(%rbp)
	jle	.L13
	addl	$1, -120(%rbp)
.L11:
	movl	-120(%rbp), %eax
	cmpl	-140(%rbp), %eax
	jl	.L14
	movl	-124(%rbp), %eax
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L16
	call	__stack_chk_fail@PLT
.L16:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	mizuhasu, .-mizuhasu
	.section	.rodata
.LC0:
	.string	"%d"
.LC1:
	.string	"%d\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB4:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$4096, %rsp
	orq	$0, (%rsp)
	subq	$1840, %rsp
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movl	$0, -5916(%rbp)
	leaq	D(%rip), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	cmpl	$1, %eax
	je	.L18
	movl	$1, %eax
	jmp	.L46
.L18:
	movl	$0, -5924(%rbp)
	jmp	.L20
.L22:
	movl	-5924(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	c(%rip), %rax
	addq	%rdx, %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	cmpl	$1, %eax
	je	.L21
	movl	$1, %eax
	jmp	.L46
.L21:
	addl	$1, -5924(%rbp)
.L20:
	cmpl	$25, -5924(%rbp)
	jle	.L22
	movl	$0, -5924(%rbp)
	jmp	.L23
.L27:
	movl	$0, -5920(%rbp)
	jmp	.L24
.L26:
	movl	-5920(%rbp), %eax
	movslq	%eax, %rcx
	movl	-5924(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	addq	%rax, %rax
	addq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	addq	%rax, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	s(%rip), %rax
	addq	%rdx, %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	cmpl	$1, %eax
	je	.L25
	movl	$1, %eax
	jmp	.L46
.L25:
	addl	$1, -5920(%rbp)
.L24:
	cmpl	$25, -5920(%rbp)
	jle	.L26
	addl	$1, -5924(%rbp)
.L23:
	movl	D(%rip), %eax
	cmpl	%eax, -5924(%rbp)
	jl	.L27
	movl	$0, -5924(%rbp)
	jmp	.L28
.L33:
	movl	$0, -5912(%rbp)
	movl	$0, -5908(%rbp)
	movl	$0, -5920(%rbp)
	jmp	.L29
.L32:
	movl	-5924(%rbp), %eax
	cltq
	movl	-5920(%rbp), %edx
	movl	%edx, -4416(%rbp,%rax,4)
	movl	-5924(%rbp), %eax
	leal	1(%rax), %edx
	leaq	-4416(%rbp), %rax
	movl	%edx, %esi
	movq	%rax, %rdi
	call	mizuhasu
	movl	%eax, -5892(%rbp)
	movl	-5912(%rbp), %eax
	cmpl	-5892(%rbp), %eax
	jl	.L30
	cmpl	$0, -5920(%rbp)
	jne	.L31
.L30:
	movl	-5892(%rbp), %eax
	movl	%eax, -5912(%rbp)
	movl	-5920(%rbp), %eax
	movl	%eax, -5908(%rbp)
.L31:
	addl	$1, -5920(%rbp)
.L29:
	cmpl	$25, -5920(%rbp)
	jle	.L32
	movl	-5924(%rbp), %eax
	cltq
	movl	-5908(%rbp), %edx
	movl	%edx, -4416(%rbp,%rax,4)
	addl	$1, -5924(%rbp)
.L28:
	movl	D(%rip), %eax
	cmpl	%eax, -5924(%rbp)
	jl	.L33
	leaq	-5888(%rbp), %rdx
	leaq	-4416(%rbp), %rax
	movl	$182, %ecx
	movq	%rdx, %rdi
	movq	%rax, %rsi
	rep movsq
	movq	%rsi, %rax
	movq	%rdi, %rdx
	movl	(%rax), %ecx
	movl	%ecx, (%rdx)
	movl	$0, -5924(%rbp)
	jmp	.L34
.L43:
	movl	$0, -5904(%rbp)
	movl	$0, -5920(%rbp)
	jmp	.L35
.L41:
	leaq	-1472(%rbp), %rdx
	leaq	-5888(%rbp), %rax
	movl	$182, %ecx
	movq	%rdx, %rdi
	movq	%rax, %rsi
	rep movsq
	movq	%rsi, %rax
	movq	%rdi, %rdx
	movl	(%rax), %ecx
	movl	%ecx, (%rdx)
	movl	$0, -5900(%rbp)
	jmp	.L36
.L38:
	movl	$10000, %edi
	call	randint2
	cmpl	$29, %eax
	ja	.L37
	movl	$25, %edi
	call	randint2
	movl	%eax, %edx
	movl	-5900(%rbp), %eax
	cltq
	movl	%edx, -1472(%rbp,%rax,4)
	movl	-5900(%rbp), %eax
	cltq
	movl	-1472(%rbp,%rax,4), %edx
	movl	-5900(%rbp), %eax
	cltq
	movl	-5888(%rbp,%rax,4), %eax
	cmpl	%eax, %edx
	jl	.L37
	movl	-5900(%rbp), %eax
	cltq
	movl	-1472(%rbp,%rax,4), %eax
	leal	1(%rax), %edx
	movl	-5900(%rbp), %eax
	cltq
	movl	%edx, -1472(%rbp,%rax,4)
.L37:
	addl	$1, -5900(%rbp)
.L36:
	movl	D(%rip), %eax
	cmpl	%eax, -5900(%rbp)
	jl	.L38
	movl	D(%rip), %edx
	leaq	-1472(%rbp), %rax
	movl	%edx, %esi
	movq	%rax, %rdi
	call	mizuhasu
	movl	%eax, -5896(%rbp)
	cmpl	$0, -5920(%rbp)
	je	.L39
	movl	-5896(%rbp), %eax
	cmpl	-5904(%rbp), %eax
	jle	.L40
.L39:
	leaq	-2944(%rbp), %rdx
	leaq	-1472(%rbp), %rax
	movl	$182, %ecx
	movq	%rdx, %rdi
	movq	%rax, %rsi
	rep movsq
	movq	%rsi, %rax
	movq	%rdi, %rdx
	movl	(%rax), %ecx
	movl	%ecx, (%rdx)
	movl	-5896(%rbp), %eax
	movl	%eax, -5904(%rbp)
.L40:
	addl	$1, -5920(%rbp)
.L35:
	cmpl	$11, -5920(%rbp)
	jle	.L41
	leaq	-5888(%rbp), %rdx
	leaq	-2944(%rbp), %rax
	movl	$182, %ecx
	movq	%rdx, %rdi
	movq	%rax, %rsi
	rep movsq
	movq	%rsi, %rax
	movq	%rdi, %rdx
	movl	(%rax), %ecx
	movl	%ecx, (%rdx)
	movl	-5904(%rbp), %eax
	cmpl	-5916(%rbp), %eax
	jle	.L42
	leaq	-4416(%rbp), %rdx
	leaq	-2944(%rbp), %rax
	movl	$182, %ecx
	movq	%rdx, %rdi
	movq	%rax, %rsi
	rep movsq
	movq	%rsi, %rax
	movq	%rdi, %rdx
	movl	(%rax), %ecx
	movl	%ecx, (%rdx)
	movl	-5904(%rbp), %eax
	movl	%eax, -5916(%rbp)
.L42:
	addl	$1, -5924(%rbp)
.L34:
	cmpl	$16999, -5924(%rbp)
	jle	.L43
	movl	$0, -5924(%rbp)
	jmp	.L44
.L45:
	movl	-5924(%rbp), %eax
	cltq
	movl	-4416(%rbp,%rax,4), %eax
	addl	$1, %eax
	movl	%eax, %esi
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	addl	$1, -5924(%rbp)
.L44:
	movl	D(%rip), %eax
	cmpl	%eax, -5924(%rbp)
	jl	.L45
	movl	$0, %eax
.L46:
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L47
	call	__stack_chk_fail@PLT
.L47:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	main, .-main
	.ident	"GCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	1f - 0f
	.long	4f - 1f
	.long	5
0:
	.string	"GNU"
1:
	.align 8
	.long	0xc0000002
	.long	3f - 2f
2:
	.long	0x3
3:
	.align 8
4:
