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

```c
// AOJ 1307 Towns along a Highway
// 2019.2.28 bal4u

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

#if 1
#define gc() getchar_unlocked()
#define pc(c) putchar_unlocked(c)
#else
#define gc() getchar()
#define pc(c) putchar(c)
#endif

int in()   // 正整数の入力
{
	int n = 0, c = gc();
	do n = 10 * n + (c & 0xf), c = gc(); while (c >= '0');
	return n;
}

void out(int n)
{
	int i;
	char ob[20];

	i = 0; while (n) ob[i++] = n % 10 + '0', n /= 10;
	while (i--) pc(ob[i]);
}

void outs(char *s) { while (*s) pc(*s++); }
#define ABS(x) ((x)>=0?(x):-(x))

int N;
int d[200], dsz, max;
char f[402];     // 入力した値の個数を記録する
int ans[20][20], asz;
int try[20];     // ansの候補

int check(int id, int val)
{
	int i, k;
	char ff[402];

	memcpy(ff, f, 1+max);
	for (i = 0; i < id; i++) {
		k = ABS(try[i]-val);
		if (ff[k] == 0) return 0;
		ff[k]--;
	}
	return 1;
}

int cmp(const void *a, const void *b) {	return *(int *)a - *(int *)b; }

void combi(int id)
{
	int i, k;
	char ff[402];

	if (id == N) {
		memcpy(ans[asz], try, N * sizeof(int));
		qsort(ans[asz], N, sizeof(int), cmp);
		for (i = 0; ; i++) {
			if (i == asz) { asz++; break; }
			if (!memcmp(ans[i], ans[asz], N * sizeof(int))) break;
		}
		return;
	}

	for (k = max; !f[k]; k--);
	memcpy(ff, f, 1+max);
	if (check(id, max-k)) {
		try[id] = max - k;
		for (i = 0; i < id; i++) f[ABS(try[i] - try[id])]--;
		combi(id + 1);
		memcpy(f, ff, 1+max);
	}

	if (check(id, k)) {
		try[id] = k;
		for (i = 0; i < id; i++) f[ABS(try[i] - try[id])]--;
		combi(id + 1);
		memcpy(f, ff, 1+max);
	}
}

int main()
{
	int i, j;

	while (N = in()) {
		dsz = N * (N - 1) >> 1;
		memset(f, 0, sizeof(f));
		for (i = 0; i < dsz; i++) {
			d[i] = in(), f[d[i]]++;
		}
		if (dsz == 1) out(d[0]), pc('\n');
		else {
			max = d[0];
			try[0] = 0, try[1] = max, f[max]--;  // 最左端と最右端の距離が最大
			asz = 0;
			combi(2);

			// 結果表示
			for (i = 0; i < asz; i++) {
				out(ans[i][1]);
				for (j = 2; j < N; j++) pc(' '), out(ans[i][j] - ans[i][j - 1]);
				pc('\n');
			}
		}
		outs("-----\n");
	}
	return 0;
}

```

Unoptimized Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.globl	in
	.type	in, @function
in:
.LFB6:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$16, %rsp
	movl	$0, -8(%rbp)
	call	getchar_unlocked@PLT
	movl	%eax, -4(%rbp)
.L2:
	movl	-8(%rbp), %edx
	movl	%edx, %eax
	sall	$2, %eax
	addl	%edx, %eax
	addl	%eax, %eax
	movl	%eax, %edx
	movl	-4(%rbp), %eax
	andl	$15, %eax
	addl	%edx, %eax
	movl	%eax, -8(%rbp)
	call	getchar_unlocked@PLT
	movl	%eax, -4(%rbp)
	cmpl	$47, -4(%rbp)
	jg	.L2
	movl	-8(%rbp), %eax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	in, .-in
	.globl	out
	.type	out, @function
out:
.LFB7:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$64, %rsp
	movl	%edi, -52(%rbp)
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movl	$0, -36(%rbp)
	jmp	.L5
.L6:
	movl	-52(%rbp), %edx
	movslq	%edx, %rax
	imulq	$1717986919, %rax, %rax
	shrq	$32, %rax
	sarl	$2, %eax
	movl	%edx, %esi
	sarl	$31, %esi
	subl	%esi, %eax
	movl	%eax, %ecx
	movl	%ecx, %eax
	sall	$2, %eax
	addl	%ecx, %eax
	addl	%eax, %eax
	movl	%edx, %ecx
	subl	%eax, %ecx
	movl	%ecx, %eax
	leal	48(%rax), %ecx
	movl	-36(%rbp), %eax
	leal	1(%rax), %edx
	movl	%edx, -36(%rbp)
	movl	%ecx, %edx
	cltq
	movb	%dl, -32(%rbp,%rax)
	movl	-52(%rbp), %eax
	movslq	%eax, %rdx
	imulq	$1717986919, %rdx, %rdx
	shrq	$32, %rdx
	sarl	$2, %edx
	sarl	$31, %eax
	movl	%eax, %ecx
	movl	%edx, %eax
	subl	%ecx, %eax
	movl	%eax, -52(%rbp)
.L5:
	cmpl	$0, -52(%rbp)
	jne	.L6
	jmp	.L7
.L8:
	movl	-36(%rbp), %eax
	cltq
	movzbl	-32(%rbp,%rax), %eax
	movsbl	%al, %eax
	movl	%eax, %edi
	call	putchar_unlocked@PLT
.L7:
	movl	-36(%rbp), %eax
	leal	-1(%rax), %edx
	movl	%edx, -36(%rbp)
	testl	%eax, %eax
	jne	.L8
	nop
	movq	-8(%rbp), %rax
	subq	%fs:40, %rax
	je	.L9
	call	__stack_chk_fail@PLT
.L9:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	out, .-out
	.globl	outs
	.type	outs, @function
outs:
.LFB8:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$16, %rsp
	movq	%rdi, -8(%rbp)
	jmp	.L11
.L12:
	movq	-8(%rbp), %rax
	leaq	1(%rax), %rdx
	movq	%rdx, -8(%rbp)
	movzbl	(%rax), %eax
	movsbl	%al, %eax
	movl	%eax, %edi
	call	putchar_unlocked@PLT
.L11:
	movq	-8(%rbp), %rax
	movzbl	(%rax), %eax
	testb	%al, %al
	jne	.L12
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	outs, .-outs
	.globl	N
	.bss
	.align 4
	.type	N, @object
	.size	N, 4
N:
	.zero	4
	.globl	d
	.align 32
	.type	d, @object
	.size	d, 800
d:
	.zero	800
	.globl	dsz
	.align 4
	.type	dsz, @object
	.size	dsz, 4
dsz:
	.zero	4
	.globl	max
	.align 4
	.type	max, @object
	.size	max, 4
max:
	.zero	4
	.globl	f
	.align 32
	.type	f, @object
	.size	f, 402
f:
	.zero	402
	.globl	ans
	.align 32
	.type	ans, @object
	.size	ans, 1600
ans:
	.zero	1600
	.globl	asz
	.align 4
	.type	asz, @object
	.size	asz, 4
asz:
	.zero	4
	.globl	try
	.align 32
	.type	try, @object
	.size	try, 80
try:
	.zero	80
	.text
	.globl	check
	.type	check, @function
check:
.LFB9:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$448, %rsp
	movl	%edi, -436(%rbp)
	movl	%esi, -440(%rbp)
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movl	max(%rip), %eax
	addl	$1, %eax
	movslq	%eax, %rdx
	leaq	-416(%rbp), %rax
	leaq	f(%rip), %rcx
	movq	%rcx, %rsi
	movq	%rax, %rdi
	call	memcpy@PLT
	movl	$0, -424(%rbp)
	jmp	.L14
.L17:
	movl	-424(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	try(%rip), %rax
	movl	(%rdx,%rax), %eax
	subl	-440(%rbp), %eax
	movl	%eax, %edx
	negl	%edx
	cmovns	%edx, %eax
	movl	%eax, -420(%rbp)
	movl	-420(%rbp), %eax
	cltq
	movzbl	-416(%rbp,%rax), %eax
	testb	%al, %al
	jne	.L15
	movl	$0, %eax
	jmp	.L18
.L15:
	movl	-420(%rbp), %eax
	cltq
	movzbl	-416(%rbp,%rax), %eax
	subl	$1, %eax
	movl	%eax, %edx
	movl	-420(%rbp), %eax
	cltq
	movb	%dl, -416(%rbp,%rax)
	addl	$1, -424(%rbp)
.L14:
	movl	-424(%rbp), %eax
	cmpl	-436(%rbp), %eax
	jl	.L17
	movl	$1, %eax
.L18:
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L19
	call	__stack_chk_fail@PLT
.L19:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	check, .-check
	.globl	cmp
	.type	cmp, @function
cmp:
.LFB10:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movq	%rdi, -8(%rbp)
	movq	%rsi, -16(%rbp)
	movq	-8(%rbp), %rax
	movl	(%rax), %edx
	movq	-16(%rbp), %rax
	movl	(%rax), %ecx
	movl	%edx, %eax
	subl	%ecx, %eax
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	cmp, .-cmp
	.globl	combi
	.type	combi, @function
combi:
.LFB11:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$448, %rsp
	movl	%edi, -436(%rbp)
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movl	N(%rip), %eax
	cmpl	%eax, -436(%rbp)
	jne	.L23
	movl	N(%rip), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	movl	asz(%rip), %eax
	movslq	%eax, %rcx
	movq	%rcx, %rax
	salq	$2, %rax
	addq	%rcx, %rax
	salq	$4, %rax
	leaq	ans(%rip), %rcx
	addq	%rcx, %rax
	leaq	try(%rip), %rcx
	movq	%rcx, %rsi
	movq	%rax, %rdi
	call	memcpy@PLT
	movl	N(%rip), %eax
	movslq	%eax, %rsi
	movl	asz(%rip), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	salq	$4, %rax
	leaq	ans(%rip), %rdx
	addq	%rdx, %rax
	leaq	cmp(%rip), %rdx
	movq	%rdx, %rcx
	movl	$4, %edx
	movq	%rax, %rdi
	call	qsort@PLT
	movl	$0, -424(%rbp)
.L27:
	movl	asz(%rip), %eax
	cmpl	%eax, -424(%rbp)
	jne	.L24
	movl	asz(%rip), %eax
	addl	$1, %eax
	movl	%eax, asz(%rip)
	jmp	.L22
.L24:
	movl	N(%rip), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	movl	asz(%rip), %eax
	movslq	%eax, %rcx
	movq	%rcx, %rax
	salq	$2, %rax
	addq	%rcx, %rax
	salq	$4, %rax
	leaq	ans(%rip), %rcx
	addq	%rax, %rcx
	movl	-424(%rbp), %eax
	movslq	%eax, %rsi
	movq	%rsi, %rax
	salq	$2, %rax
	addq	%rsi, %rax
	salq	$4, %rax
	leaq	ans(%rip), %rsi
	addq	%rsi, %rax
	movq	%rcx, %rsi
	movq	%rax, %rdi
	call	memcmp@PLT
	testl	%eax, %eax
	je	.L38
	addl	$1, -424(%rbp)
	jmp	.L27
.L23:
	movl	max(%rip), %eax
	movl	%eax, -420(%rbp)
	jmp	.L29
.L30:
	subl	$1, -420(%rbp)
.L29:
	movl	-420(%rbp), %eax
	cltq
	leaq	f(%rip), %rdx
	movzbl	(%rax,%rdx), %eax
	testb	%al, %al
	je	.L30
	movl	max(%rip), %eax
	addl	$1, %eax
	movslq	%eax, %rdx
	leaq	-416(%rbp), %rax
	leaq	f(%rip), %rcx
	movq	%rcx, %rsi
	movq	%rax, %rdi
	call	memcpy@PLT
	movl	max(%rip), %eax
	subl	-420(%rbp), %eax
	movl	%eax, %edx
	movl	-436(%rbp), %eax
	movl	%edx, %esi
	movl	%eax, %edi
	call	check
	testl	%eax, %eax
	je	.L31
	movl	max(%rip), %eax
	subl	-420(%rbp), %eax
	movl	-436(%rbp), %edx
	movslq	%edx, %rdx
	leaq	0(,%rdx,4), %rcx
	leaq	try(%rip), %rdx
	movl	%eax, (%rcx,%rdx)
	movl	$0, -424(%rbp)
	jmp	.L32
.L33:
	movl	-424(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	try(%rip), %rax
	movl	(%rdx,%rax), %eax
	movl	-436(%rbp), %edx
	movslq	%edx, %rdx
	leaq	0(,%rdx,4), %rcx
	leaq	try(%rip), %rdx
	movl	(%rcx,%rdx), %edx
	subl	%edx, %eax
	movl	%eax, %edx
	negl	%edx
	cmovns	%edx, %eax
	movslq	%eax, %rdx
	leaq	f(%rip), %rcx
	movzbl	(%rdx,%rcx), %edx
	subl	$1, %edx
	movl	%edx, %ecx
	cltq
	leaq	f(%rip), %rdx
	movb	%cl, (%rax,%rdx)
	addl	$1, -424(%rbp)
.L32:
	movl	-424(%rbp), %eax
	cmpl	-436(%rbp), %eax
	jl	.L33
	movl	-436(%rbp), %eax
	addl	$1, %eax
	movl	%eax, %edi
	call	combi
	movl	max(%rip), %eax
	addl	$1, %eax
	movslq	%eax, %rdx
	leaq	-416(%rbp), %rax
	movq	%rax, %rsi
	leaq	f(%rip), %rax
	movq	%rax, %rdi
	call	memcpy@PLT
.L31:
	movl	-420(%rbp), %edx
	movl	-436(%rbp), %eax
	movl	%edx, %esi
	movl	%eax, %edi
	call	check
	testl	%eax, %eax
	je	.L22
	movl	-436(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rcx
	leaq	try(%rip), %rdx
	movl	-420(%rbp), %eax
	movl	%eax, (%rcx,%rdx)
	movl	$0, -424(%rbp)
	jmp	.L35
.L36:
	movl	-424(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	try(%rip), %rax
	movl	(%rdx,%rax), %eax
	movl	-436(%rbp), %edx
	movslq	%edx, %rdx
	leaq	0(,%rdx,4), %rcx
	leaq	try(%rip), %rdx
	movl	(%rcx,%rdx), %edx
	subl	%edx, %eax
	movl	%eax, %edx
	negl	%edx
	cmovns	%edx, %eax
	movslq	%eax, %rdx
	leaq	f(%rip), %rcx
	movzbl	(%rdx,%rcx), %edx
	subl	$1, %edx
	movl	%edx, %ecx
	cltq
	leaq	f(%rip), %rdx
	movb	%cl, (%rax,%rdx)
	addl	$1, -424(%rbp)
.L35:
	movl	-424(%rbp), %eax
	cmpl	-436(%rbp), %eax
	jl	.L36
	movl	-436(%rbp), %eax
	addl	$1, %eax
	movl	%eax, %edi
	call	combi
	movl	max(%rip), %eax
	addl	$1, %eax
	movslq	%eax, %rdx
	leaq	-416(%rbp), %rax
	movq	%rax, %rsi
	leaq	f(%rip), %rax
	movq	%rax, %rdi
	call	memcpy@PLT
	jmp	.L22
.L38:
	nop
.L22:
	movq	-8(%rbp), %rax
	subq	%fs:40, %rax
	je	.L37
	call	__stack_chk_fail@PLT
.L37:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	combi, .-combi
	.section	.rodata
.LC0:
	.string	"-----\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB12:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$16, %rsp
	jmp	.L40
.L49:
	movl	N(%rip), %eax
	leal	-1(%rax), %edx
	movl	N(%rip), %eax
	imull	%edx, %eax
	sarl	%eax
	movl	%eax, dsz(%rip)
	movl	$402, %edx
	movl	$0, %esi
	leaq	f(%rip), %rax
	movq	%rax, %rdi
	call	memset@PLT
	movl	$0, -8(%rbp)
	jmp	.L41
.L42:
	movl	$0, %eax
	call	in
	movl	-8(%rbp), %edx
	movslq	%edx, %rdx
	leaq	0(,%rdx,4), %rcx
	leaq	d(%rip), %rdx
	movl	%eax, (%rcx,%rdx)
	movl	-8(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	d(%rip), %rax
	movl	(%rdx,%rax), %eax
	movslq	%eax, %rdx
	leaq	f(%rip), %rcx
	movzbl	(%rdx,%rcx), %edx
	addl	$1, %edx
	movl	%edx, %ecx
	cltq
	leaq	f(%rip), %rdx
	movb	%cl, (%rax,%rdx)
	addl	$1, -8(%rbp)
.L41:
	movl	dsz(%rip), %eax
	cmpl	%eax, -8(%rbp)
	jl	.L42
	movl	dsz(%rip), %eax
	cmpl	$1, %eax
	jne	.L43
	movl	d(%rip), %eax
	movl	%eax, %edi
	call	out
	movl	$10, %edi
	call	putchar_unlocked@PLT
	jmp	.L44
.L43:
	movl	d(%rip), %eax
	movl	%eax, max(%rip)
	movl	$0, try(%rip)
	movl	max(%rip), %eax
	movl	%eax, 4+try(%rip)
	movl	max(%rip), %eax
	movslq	%eax, %rdx
	leaq	f(%rip), %rcx
	movzbl	(%rdx,%rcx), %edx
	subl	$1, %edx
	movl	%edx, %ecx
	cltq
	leaq	f(%rip), %rdx
	movb	%cl, (%rax,%rdx)
	movl	$0, asz(%rip)
	movl	$2, %edi
	call	combi
	movl	$0, -8(%rbp)
	jmp	.L45
.L48:
	movl	-8(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	salq	$4, %rax
	movq	%rax, %rdx
	leaq	4+ans(%rip), %rax
	movl	(%rdx,%rax), %eax
	movl	%eax, %edi
	call	out
	movl	$2, -4(%rbp)
	jmp	.L46
.L47:
	movl	$32, %edi
	call	putchar_unlocked@PLT
	movl	-4(%rbp), %eax
	movslq	%eax, %rcx
	movl	-8(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	salq	$2, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	ans(%rip), %rax
	movl	(%rdx,%rax), %ecx
	movl	-4(%rbp), %eax
	subl	$1, %eax
	movslq	%eax, %rsi
	movl	-8(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	salq	$2, %rax
	addq	%rsi, %rax
	leaq	0(,%rax,4), %rdx
	leaq	ans(%rip), %rax
	movl	(%rdx,%rax), %edx
	movl	%ecx, %eax
	subl	%edx, %eax
	movl	%eax, %edi
	call	out
	addl	$1, -4(%rbp)
.L46:
	movl	N(%rip), %eax
	cmpl	%eax, -4(%rbp)
	jl	.L47
	movl	$10, %edi
	call	putchar_unlocked@PLT
	addl	$1, -8(%rbp)
.L45:
	movl	asz(%rip), %eax
	cmpl	%eax, -8(%rbp)
	jl	.L48
.L44:
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	call	outs
.L40:
	movl	$0, %eax
	call	in
	movl	%eax, N(%rip)
	movl	N(%rip), %eax
	testl	%eax, %eax
	jne	.L49
	movl	$0, %eax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.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	cmp
	.type	cmp, @function
cmp:
.LFB55:
	.cfi_startproc
	endbr64
	movl	(%rdi), %eax
	subl	(%rsi), %eax
	ret
	.cfi_endproc
.LFE55:
	.size	cmp, .-cmp
	.p2align 4
	.globl	in
	.type	in, @function
in:
.LFB51:
	.cfi_startproc
	endbr64
	movq	stdin(%rip), %rdi
	pushq	%r12
	.cfi_def_cfa_offset 16
	.cfi_offset 12, -16
	movq	8(%rdi), %rax
	movq	16(%rdi), %rcx
	cmpq	%rcx, %rax
	jnb	.L12
	leaq	1(%rax), %rdx
	movq	%rdx, 8(%rdi)
	movzbl	(%rax), %eax
.L5:
	xorl	%r12d, %r12d
	jmp	.L9
	.p2align 4,,10
	.p2align 3
.L6:
	leaq	1(%rdx), %rax
	movq	%rax, 8(%rdi)
	movzbl	(%rdx), %eax
	cmpl	$47, %eax
	jle	.L3
.L7:
	movq	8(%rdi), %rdx
	movq	16(%rdi), %rcx
.L9:
	leal	(%r12,%r12,4), %esi
	andl	$15, %eax
	leal	(%rax,%rsi,2), %r12d
	cmpq	%rcx, %rdx
	jb	.L6
	call	__uflow@PLT
	cmpl	$47, %eax
	jle	.L3
	movq	stdin(%rip), %rdi
	jmp	.L7
	.p2align 4,,10
	.p2align 3
.L3:
	movl	%r12d, %eax
	popq	%r12
	.cfi_remember_state
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L12:
	.cfi_restore_state
	call	__uflow@PLT
	movq	stdin(%rip), %rdi
	movq	8(%rdi), %rdx
	movq	16(%rdi), %rcx
	jmp	.L5
	.cfi_endproc
.LFE51:
	.size	in, .-in
	.p2align 4
	.globl	out
	.type	out, @function
out:
.LFB52:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	pushq	%rbx
	.cfi_def_cfa_offset 24
	.cfi_offset 3, -24
	subq	$40, %rsp
	.cfi_def_cfa_offset 64
	movq	%fs:40, %rax
	movq	%rax, 24(%rsp)
	xorl	%eax, %eax
	testl	%edi, %edi
	je	.L13
	xorl	%edx, %edx
	movq	%rsp, %rbx
	.p2align 4,,10
	.p2align 3
.L15:
	movslq	%edi, %rax
	movl	%edi, %ecx
	movslq	%edx, %rsi
	imulq	$1717986919, %rax, %rax
	sarl	$31, %ecx
	sarq	$34, %rax
	subl	%ecx, %eax
	leal	(%rax,%rax,4), %ecx
	addl	%ecx, %ecx
	subl	%ecx, %edi
	addl	$48, %edi
	movb	%dil, (%rbx,%rdx)
	movl	%eax, %edi
	movq	%rdx, %rax
	addq	$1, %rdx
	testl	%edi, %edi
	jne	.L15
	leaq	-1(%rsp,%rsi), %rbp
	addq	%rsi, %rbx
	subq	%rax, %rbp
	.p2align 4,,10
	.p2align 3
.L19:
	movq	stdout(%rip), %rdi
	movzbl	(%rbx), %esi
	movq	40(%rdi), %rax
	cmpq	48(%rdi), %rax
	jnb	.L27
	leaq	1(%rax), %rdx
	movq	%rdx, 40(%rdi)
	movb	%sil, (%rax)
.L18:
	subq	$1, %rbx
	cmpq	%rbx, %rbp
	jne	.L19
.L13:
	movq	24(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L28
	addq	$40, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 24
	popq	%rbx
	.cfi_def_cfa_offset 16
	popq	%rbp
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L27:
	.cfi_restore_state
	call	__overflow@PLT
	jmp	.L18
.L28:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE52:
	.size	out, .-out
	.p2align 4
	.globl	outs
	.type	outs, @function
outs:
.LFB53:
	.cfi_startproc
	endbr64
	pushq	%rbx
	.cfi_def_cfa_offset 16
	.cfi_offset 3, -16
	movzbl	(%rdi), %esi
	movq	%rdi, %rbx
	testb	%sil, %sil
	jne	.L33
	jmp	.L29
	.p2align 4,,10
	.p2align 3
.L31:
	leaq	1(%rax), %rdx
	movq	%rdx, 40(%rdi)
	movb	%sil, (%rax)
	movzbl	(%rbx), %esi
	testb	%sil, %sil
	je	.L29
.L33:
	movq	stdout(%rip), %rdi
	addq	$1, %rbx
	movq	40(%rdi), %rax
	cmpq	48(%rdi), %rax
	jb	.L31
	call	__overflow@PLT
	movzbl	(%rbx), %esi
	testb	%sil, %sil
	jne	.L33
.L29:
	popq	%rbx
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE53:
	.size	outs, .-outs
	.p2align 4
	.globl	check
	.type	check, @function
check:
.LFB54:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movl	$402, %ecx
	movl	%edi, %ebp
	pushq	%rbx
	.cfi_def_cfa_offset 24
	.cfi_offset 3, -24
	movl	%esi, %ebx
	leaq	f(%rip), %rsi
	subq	$424, %rsp
	.cfi_def_cfa_offset 448
	movq	%fs:40, %rax
	movq	%rax, 408(%rsp)
	movl	max(%rip), %eax
	movq	%rsp, %rdi
	leal	1(%rax), %edx
	movslq	%edx, %rdx
	call	__memcpy_chk@PLT
	testl	%ebp, %ebp
	jle	.L42
	leaq	try(%rip), %rcx
	leal	-1(%rbp), %edx
	leaq	4(%rcx), %rax
	leaq	(%rax,%rdx,4), %rsi
	jmp	.L44
	.p2align 4,,10
	.p2align 3
.L49:
	subl	$1, %edx
	addq	$4, %rcx
	movb	%dl, (%rsp,%rax)
	cmpq	%rsi, %rcx
	je	.L42
.L44:
	movl	(%rcx), %edx
	subl	%ebx, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	(%rsp,%rax), %edx
	testb	%dl, %dl
	jne	.L49
	xorl	%eax, %eax
	jmp	.L41
	.p2align 4,,10
	.p2align 3
.L42:
	movl	$1, %eax
.L41:
	movq	408(%rsp), %rdx
	subq	%fs:40, %rdx
	jne	.L50
	addq	$424, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 24
	popq	%rbx
	.cfi_def_cfa_offset 16
	popq	%rbp
	.cfi_def_cfa_offset 8
	ret
.L50:
	.cfi_restore_state
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE54:
	.size	check, .-check
	.p2align 4
	.globl	combi
	.type	combi, @function
combi:
.LFB56:
	.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
	movslq	%edi, %r12
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	subq	$856, %rsp
	.cfi_def_cfa_offset 912
	movq	%fs:40, %rax
	movq	%rax, 840(%rsp)
	xorl	%eax, %eax
	cmpl	%r12d, N(%rip)
	je	.L89
	movslq	max(%rip), %rax
	leaq	f(%rip), %r13
	cmpb	$0, 0(%r13,%rax)
	movq	%rax, %rdx
	jne	.L72
	leal	-1(%rax), %eax
	leaq	1(%r13), %rcx
	cltq
	.p2align 4,,10
	.p2align 3
.L58:
	movl	%eax, %ebx
	subq	$1, %rax
	cmpb	$0, (%rcx,%rax)
	je	.L58
	movl	%edx, %r15d
	subl	%ebx, %r15d
.L57:
	addl	$1, %edx
	leaq	16(%rsp), %rbp
	movl	$402, %ecx
	movq	%r13, %rsi
	movslq	%edx, %rdx
	movq	%rbp, %rdi
	movq	%rdx, 8(%rsp)
	call	__memcpy_chk@PLT
	leaq	432(%rsp), %r8
	movq	8(%rsp), %rdx
	movq	%r13, %rsi
	movq	%r8, %rdi
	movl	$402, %ecx
	call	__memcpy_chk@PLT
	movq	%rax, %r8
	testl	%r12d, %r12d
	jle	.L59
	leaq	try(%rip), %rdi
	leal	-1(%r12), %eax
	movq	8(%rsp), %rdx
	leaq	4(%rdi), %rcx
	movq	%rdi, %r14
	movq	%rdi, %rsi
	leaq	(%rcx,%rax,4), %r9
	jmp	.L61
	.p2align 4,,10
	.p2align 3
.L91:
	subl	$1, %ecx
	addq	$4, %rsi
	movb	%cl, 432(%rsp,%rax)
	cmpq	%rsi, %r9
	je	.L90
.L61:
	movl	(%rsi), %ecx
	subl	%r15d, %ecx
	movl	%ecx, %eax
	negl	%eax
	cmovs	%ecx, %eax
	cltq
	movzbl	432(%rsp,%rax), %ecx
	testb	%cl, %cl
	jne	.L91
	movl	$402, %ecx
	movq	%r13, %rsi
	movq	%r8, %rdi
	call	__memcpy_chk@PLT
.L69:
	xorl	%ecx, %ecx
	jmp	.L66
	.p2align 4,,10
	.p2align 3
.L93:
	subl	$1, %edx
	addq	$1, %rcx
	movb	%dl, 432(%rsp,%rax)
	cmpl	%ecx, %r12d
	jle	.L92
.L66:
	movl	(%r14,%rcx,4), %edx
	subl	%ebx, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	432(%rsp,%rax), %edx
	testb	%dl, %dl
	jne	.L93
.L51:
	movq	840(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L94
	addq	$856, %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
	.p2align 4,,10
	.p2align 3
.L92:
	.cfi_restore_state
	movslq	%r12d, %rax
	xorl	%ecx, %ecx
	movl	%ebx, (%r14,%rax,4)
	.p2align 4,,10
	.p2align 3
.L68:
	movl	(%r14,%rcx,4), %edx
	subl	%ebx, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	addq	$1, %rcx
	cltq
	subb	$1, 0(%r13,%rax)
	cmpl	%ecx, %r12d
	jg	.L68
	addl	$1, %r12d
.L70:
	movl	%r12d, %edi
	call	combi
	movl	$402, %ecx
	movq	%rbp, %rsi
	movq	%r13, %rdi
	movl	max(%rip), %eax
	leal	1(%rax), %edx
	movslq	%edx, %rdx
	call	__memcpy_chk@PLT
	jmp	.L51
	.p2align 4,,10
	.p2align 3
.L90:
	movslq	%r12d, %rax
	movl	%r15d, (%r14,%rax,4)
	.p2align 4,,10
	.p2align 3
.L63:
	movl	(%rdi), %edx
	subl	%r15d, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	addq	$4, %rdi
	cltq
	subb	$1, 0(%r13,%rax)
	cmpq	%rdi, %r9
	jne	.L63
	leal	1(%r12), %edi
	movq	%r8, 8(%rsp)
	call	combi
	movq	%rbp, %rsi
	movq	%r13, %rdi
	movl	$402, %ecx
	movl	max(%rip), %eax
	leal	1(%rax), %r15d
	movslq	%r15d, %r15
	movq	%r15, %rdx
	call	__memcpy_chk@PLT
	movq	8(%rsp), %rdi
	movq	%r15, %rdx
	movq	%r13, %rsi
	movl	$402, %ecx
	call	__memcpy_chk@PLT
	jmp	.L69
	.p2align 4,,10
	.p2align 3
.L89:
	movslq	asz(%rip), %rax
	leaq	ans(%rip), %rbx
	leaq	0(,%r12,4), %rdx
	leaq	try(%rip), %rsi
	leaq	(%rax,%rax,4), %rdi
	salq	$4, %rdi
	addq	%rbx, %rdi
	call	memcpy@PLT
	leaq	cmp(%rip), %rcx
	movl	$4, %edx
	movq	%r12, %rsi
	movq	%rax, %rdi
	call	qsort@PLT
	movl	asz(%rip), %r13d
	testl	%r13d, %r13d
	je	.L95
	movslq	%r13d, %rax
	movslq	N(%rip), %r12
	leaq	(%rax,%rax,4), %rbp
	leal	-1(%r13), %eax
	leaq	(%rax,%rax,4), %r14
	salq	$4, %rbp
	leaq	80+ans(%rip), %rax
	salq	$2, %r12
	salq	$4, %r14
	addq	%rbx, %rbp
	addq	%rax, %r14
	jmp	.L55
	.p2align 4,,10
	.p2align 3
.L97:
	addq	$80, %rbx
	cmpq	%rbx, %r14
	je	.L96
.L55:
	movq	%r12, %rdx
	movq	%rbp, %rsi
	movq	%rbx, %rdi
	call	memcmp@PLT
	testl	%eax, %eax
	jne	.L97
	jmp	.L51
	.p2align 4,,10
	.p2align 3
.L72:
	movl	%eax, %ebx
	xorl	%r15d, %r15d
	jmp	.L57
.L96:
	addl	$1, %r13d
.L56:
	movl	%r13d, asz(%rip)
	jmp	.L51
.L59:
	movslq	%r12d, %r8
	leaq	try(%rip), %r14
	addl	$1, %r12d
	movl	%r15d, (%r14,%r8,4)
	movl	%r12d, %edi
	movq	%r8, 8(%rsp)
	call	combi
	movl	$402, %ecx
	movq	%rbp, %rsi
	movq	%r13, %rdi
	movl	max(%rip), %eax
	leal	1(%rax), %edx
	movslq	%edx, %rdx
	call	__memcpy_chk@PLT
	movq	8(%rsp), %r8
	movl	%ebx, (%r14,%r8,4)
	jmp	.L70
.L95:
	movl	$1, %r13d
	jmp	.L56
.L94:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE56:
	.size	combi, .-combi
	.p2align 4
	.type	combi.constprop.7, @function
combi.constprop.7:
.LFB63:
	.cfi_startproc
	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	$1336, %rsp
	.cfi_def_cfa_offset 1392
	movl	N(%rip), %r14d
	movq	%fs:40, %rax
	movq	%rax, 1320(%rsp)
	xorl	%eax, %eax
	cmpl	$9, %r14d
	je	.L314
	movslq	max(%rip), %r15
	leaq	f(%rip), %rbp
	cmpb	$0, 0(%rbp,%r15)
	movl	%r15d, 12(%rsp)
	movq	%r15, %rax
	jne	.L136
	subl	$1, %eax
	leaq	1(%rbp), %rdx
	cltq
	.p2align 4,,10
	.p2align 3
.L105:
	movl	%eax, %ebx
	subq	$1, %rax
	cmpb	$0, (%rdx,%rax)
	je	.L105
	movl	12(%rsp), %r13d
	subl	%ebx, %r13d
.L104:
	movl	12(%rsp), %eax
	leaq	80(%rsp), %rdi
	movl	$402, %ecx
	movq	%rbp, %rsi
	movq	%rdi, 24(%rsp)
	leal	1(%rax), %r12d
	movslq	%r12d, %r12
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
	movq	%r12, %rdx
	movl	$402, %ecx
	movq	%rbp, %rsi
	leaq	912(%rsp), %rax
	movq	%rax, %rdi
	movq	%rax, 16(%rsp)
	call	__memcpy_chk@PLT
	movl	try(%rip), %eax
	movl	%eax, %edx
	movl	%eax, 40(%rsp)
	subl	%r13d, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	912(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L134
	movl	4+try(%rip), %esi
	subl	$1, %edx
	movb	%dl, 912(%rsp,%rax)
	movl	%esi, %ecx
	movl	%esi, 48(%rsp)
	subl	%r13d, %ecx
	movl	%ecx, %edx
	negl	%edx
	cmovs	%ecx, %edx
	movslq	%edx, %rdx
	movzbl	912(%rsp,%rdx), %ecx
	testb	%cl, %cl
	je	.L134
	subl	$1, %ecx
	movb	%cl, 912(%rsp,%rdx)
	movl	8+try(%rip), %ecx
	movl	%ecx, %esi
	movl	%ecx, 52(%rsp)
	subl	%r13d, %esi
	movl	%esi, %ecx
	negl	%ecx
	cmovs	%esi, %ecx
	movslq	%ecx, %rcx
	movzbl	912(%rsp,%rcx), %esi
	testb	%sil, %sil
	je	.L134
	movl	12+try(%rip), %edi
	subl	$1, %esi
	movb	%sil, 912(%rsp,%rcx)
	movl	%edi, 56(%rsp)
	subl	%r13d, %edi
	movl	%edi, %esi
	negl	%esi
	cmovs	%edi, %esi
	movslq	%esi, %rsi
	movzbl	912(%rsp,%rsi), %edi
	testb	%dil, %dil
	je	.L134
	subl	$1, %edi
	movb	%dil, 912(%rsp,%rsi)
	movl	16+try(%rip), %edi
	movl	%edi, %r8d
	movl	%edi, 60(%rsp)
	subl	%r13d, %r8d
	movl	%r8d, %edi
	negl	%edi
	cmovs	%r8d, %edi
	movslq	%edi, %rdi
	movzbl	912(%rsp,%rdi), %r8d
	testb	%r8b, %r8b
	je	.L134
	movl	20+try(%rip), %r11d
	subl	$1, %r8d
	movb	%r8b, 912(%rsp,%rdi)
	movl	%r11d, %r9d
	movl	%r11d, 64(%rsp)
	subl	%r13d, %r9d
	movl	%r9d, %r8d
	negl	%r8d
	cmovs	%r9d, %r8d
	movslq	%r8d, %r8
	movzbl	912(%rsp,%r8), %r9d
	testb	%r9b, %r9b
	je	.L134
	movl	24+try(%rip), %r11d
	subl	$1, %r9d
	movb	%r9b, 912(%rsp,%r8)
	movl	%r11d, %r10d
	movl	%r11d, 68(%rsp)
	subl	%r13d, %r10d
	movl	%r10d, %r9d
	negl	%r9d
	cmovs	%r10d, %r9d
	movslq	%r9d, %r9
	movzbl	912(%rsp,%r9), %r10d
	testb	%r10b, %r10b
	je	.L134
	movl	28+try(%rip), %r11d
	subl	$1, %r10d
	movb	%r10b, 912(%rsp,%r9)
	movl	%r11d, 72(%rsp)
	subl	%r13d, %r11d
	movl	%r11d, %r10d
	negl	%r10d
	cmovs	%r11d, %r10d
	movslq	%r10d, %r10
	movzbl	912(%rsp,%r10), %r11d
	testb	%r11b, %r11b
	je	.L134
	subl	$1, %r11d
	movq	%r10, 32(%rsp)
	movb	%r11b, 912(%rsp,%r10)
	movl	32+try(%rip), %r11d
	movl	%r11d, 76(%rsp)
	subl	%r13d, %r11d
	movl	%r11d, %r10d
	negl	%r10d
	cmovns	%r10d, %r11d
	movslq	%r11d, %r11
	cmpb	$0, 912(%rsp,%r11)
	je	.L134
	movq	32(%rsp), %r10
	subb	$1, 0(%rbp,%rax)
	movl	%r13d, 36+try(%rip)
	subb	$1, 0(%rbp,%rdx)
	subb	$1, 0(%rbp,%rcx)
	subb	$1, 0(%rbp,%rsi)
	subb	$1, 0(%rbp,%rdi)
	subb	$1, 0(%rbp,%r8)
	subb	$1, 0(%rbp,%r9)
	subb	$1, 0(%rbp,%r10)
	subb	$1, 0(%rbp,%r11)
	cmpl	$10, %r14d
	je	.L107
	movl	12(%rsp), %eax
	leaq	1+f(%rip), %rdx
	subl	$1, %eax
	cmpb	$0, 0(%rbp,%r15)
	cltq
	jne	.L315
	.p2align 4,,10
	.p2align 3
.L115:
	movl	%eax, %r14d
	subq	$1, %rax
	cmpb	$0, (%rdx,%rax)
	je	.L115
	movl	12(%rsp), %r15d
	subl	%r14d, %r15d
.L109:
	leaq	496(%rsp), %rax
	movl	$402, %ecx
	movq	%r12, %rdx
	movq	%rbp, %rsi
	movq	%rax, %rdi
	movq	%rax, 32(%rsp)
	call	__memcpy_chk@PLT
	movq	16(%rsp), %rdi
	movq	%r12, %rdx
	movq	%rbp, %rsi
	movl	$402, %ecx
	call	__memcpy_chk@PLT
	movl	40(%rsp), %eax
	subl	%r15d, %eax
	movl	%eax, %edx
	negl	%edx
	cmovns	%edx, %eax
	movslq	%eax, %r11
	movzbl	912(%rsp,%r11), %eax
	testb	%al, %al
	je	.L133
	movl	48(%rsp), %esi
	subl	$1, %eax
	movb	%al, 912(%rsp,%r11)
	subl	%r15d, %esi
	movl	%esi, %edx
	movl	%esi, %eax
	negl	%edx
	cmovns	%edx, %eax
	movslq	%eax, %rcx
	movzbl	912(%rsp,%rcx), %eax
	testb	%al, %al
	je	.L133
	movl	52(%rsp), %edx
	subl	$1, %eax
	movq	%rcx, 40(%rsp)
	movb	%al, 912(%rsp,%rcx)
	subl	%r15d, %edx
	movl	%edx, %esi
	negl	%esi
	movl	%esi, %eax
	cmovs	%edx, %eax
	cltq
	movzbl	912(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L133
	movl	56(%rsp), %esi
	subl	$1, %edx
	movb	%dl, 912(%rsp,%rax)
	subl	%r15d, %esi
	movl	%esi, %edx
	negl	%edx
	cmovs	%esi, %edx
	movslq	%edx, %rdx
	movzbl	912(%rsp,%rdx), %ecx
	testb	%cl, %cl
	je	.L133
	movl	60(%rsp), %esi
	subl	$1, %ecx
	movb	%cl, 912(%rsp,%rdx)
	subl	%r15d, %esi
	movl	%esi, %r9d
	negl	%r9d
	movl	%r9d, %ecx
	cmovs	%esi, %ecx
	movslq	%ecx, %rcx
	movzbl	912(%rsp,%rcx), %esi
	testb	%sil, %sil
	je	.L133
	subl	$1, %esi
	movb	%sil, 912(%rsp,%rcx)
	movl	64(%rsp), %esi
	subl	%r15d, %esi
	movl	%esi, %edi
	negl	%esi
	cmovs	%edi, %esi
	movslq	%esi, %rsi
	movzbl	912(%rsp,%rsi), %edi
	testb	%dil, %dil
	je	.L133
	movl	68(%rsp), %r9d
	subl	$1, %edi
	movb	%dil, 912(%rsp,%rsi)
	subl	%r15d, %r9d
	movl	%r9d, %r8d
	negl	%r8d
	cmovs	%r9d, %r8d
	movslq	%r8d, %r8
	movzbl	912(%rsp,%r8), %edi
	testb	%dil, %dil
	je	.L133
	movl	72(%rsp), %r9d
	subl	$1, %edi
	movb	%dil, 912(%rsp,%r8)
	subl	%r15d, %r9d
	movl	%r9d, %edi
	negl	%r9d
	cmovs	%edi, %r9d
	movslq	%r9d, %r9
	movzbl	912(%rsp,%r9), %edi
	testb	%dil, %dil
	je	.L133
	movl	76(%rsp), %r10d
	subl	$1, %edi
	movb	%dil, 912(%rsp,%r9)
	subl	%r15d, %r10d
	movl	%r10d, %edi
	negl	%r10d
	cmovns	%r10d, %edi
	movslq	%edi, %rdi
	movzbl	912(%rsp,%rdi), %r10d
	testb	%r10b, %r10b
	je	.L133
	subl	$1, %r10d
	subl	%r15d, %r13d
	movb	%r10b, 912(%rsp,%rdi)
	movl	%r13d, %r10d
	negl	%r10d
	cmovs	%r13d, %r10d
	movslq	%r10d, %r10
	cmpb	$0, 912(%rsp,%r10)
	je	.L133
	movl	%r15d, 40+try(%rip)
	movq	40(%rsp), %r15
	subb	$1, 0(%rbp,%r11)
	subb	$1, 0(%rbp,%r15)
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	subb	$1, 0(%rbp,%rcx)
	subb	$1, 0(%rbp,%rsi)
	subb	$1, 0(%rbp,%r8)
	subb	$1, 0(%rbp,%r9)
	subb	$1, 0(%rbp,%rdi)
	movl	$11, %edi
	subb	$1, 0(%rbp,%r10)
	call	combi
	movl	max(%rip), %ecx
	movq	32(%rsp), %rsi
	movq	%rbp, %rdi
	leal	1(%rcx), %r12d
	movl	%ecx, 12(%rsp)
	movl	$402, %ecx
	movslq	%r12d, %r12
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
.L133:
	movq	16(%rsp), %rdi
	movq	%r12, %rdx
	movl	$402, %ecx
	movq	%rbp, %rsi
	call	__memcpy_chk@PLT
	movl	try(%rip), %edx
	subl	%r14d, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	912(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L114
	movl	4+try(%rip), %ecx
	subl	$1, %edx
	movb	%dl, 912(%rsp,%rax)
	subl	%r14d, %ecx
	movl	%ecx, %edx
	negl	%edx
	cmovs	%ecx, %edx
	movslq	%edx, %rdx
	movzbl	912(%rsp,%rdx), %ecx
	testb	%cl, %cl
	je	.L114
	movl	8+try(%rip), %esi
	subl	$1, %ecx
	movb	%cl, 912(%rsp,%rdx)
	subl	%r14d, %esi
	movl	%esi, %ecx
	negl	%ecx
	cmovs	%esi, %ecx
	movslq	%ecx, %rcx
	movzbl	912(%rsp,%rcx), %esi
	testb	%sil, %sil
	je	.L114
	movl	12+try(%rip), %edi
	subl	$1, %esi
	movb	%sil, 912(%rsp,%rcx)
	subl	%r14d, %edi
	movl	%edi, %esi
	negl	%esi
	cmovs	%edi, %esi
	movslq	%esi, %rsi
	movzbl	912(%rsp,%rsi), %edi
	testb	%dil, %dil
	je	.L114
	movl	16+try(%rip), %r8d
	subl	$1, %edi
	movb	%dil, 912(%rsp,%rsi)
	subl	%r14d, %r8d
	movl	%r8d, %edi
	negl	%edi
	cmovs	%r8d, %edi
	movslq	%edi, %rdi
	movzbl	912(%rsp,%rdi), %r8d
	testb	%r8b, %r8b
	je	.L114
	movl	20+try(%rip), %r9d
	subl	$1, %r8d
	movb	%r8b, 912(%rsp,%rdi)
	subl	%r14d, %r9d
	movl	%r9d, %r8d
	negl	%r8d
	cmovs	%r9d, %r8d
	movslq	%r8d, %r8
	movzbl	912(%rsp,%r8), %r9d
	testb	%r9b, %r9b
	je	.L114
	movl	24+try(%rip), %r10d
	subl	$1, %r9d
	movb	%r9b, 912(%rsp,%r8)
	subl	%r14d, %r10d
	movl	%r10d, %r9d
	negl	%r9d
	cmovs	%r10d, %r9d
	movslq	%r9d, %r9
	movzbl	912(%rsp,%r9), %r10d
	testb	%r10b, %r10b
	je	.L114
	movl	28+try(%rip), %r11d
	subl	$1, %r10d
	movb	%r10b, 912(%rsp,%r9)
	subl	%r14d, %r11d
	movl	%r11d, %r10d
	negl	%r10d
	cmovs	%r11d, %r10d
	movslq	%r10d, %r10
	movzbl	912(%rsp,%r10), %r11d
	testb	%r11b, %r11b
	je	.L114
	movl	32+try(%rip), %r13d
	subl	$1, %r11d
	movb	%r11b, 912(%rsp,%r10)
	subl	%r14d, %r13d
	movl	%r13d, %r11d
	negl	%r11d
	cmovs	%r13d, %r11d
	movslq	%r11d, %r11
	movzbl	912(%rsp,%r11), %r13d
	testb	%r13b, %r13b
	je	.L114
	movl	36+try(%rip), %r15d
	subl	$1, %r13d
	movb	%r13b, 912(%rsp,%r11)
	subl	%r14d, %r15d
	movl	%r15d, %r13d
	negl	%r13d
	cmovs	%r15d, %r13d
	movslq	%r13d, %r13
	cmpb	$0, 912(%rsp,%r13)
	je	.L114
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	subb	$1, 0(%rbp,%rcx)
	subb	$1, 0(%rbp,%rsi)
	subb	$1, 0(%rbp,%rdi)
	movl	$11, %edi
	subb	$1, 0(%rbp,%r8)
	subb	$1, 0(%rbp,%r9)
	subb	$1, 0(%rbp,%r10)
	subb	$1, 0(%rbp,%r11)
	subb	$1, 0(%rbp,%r13)
	movl	%r14d, 40+try(%rip)
	call	combi
	movl	max(%rip), %eax
	movq	32(%rsp), %rsi
	movq	%rbp, %rdi
	movl	$402, %ecx
	leal	1(%rax), %r12d
	movl	%eax, 12(%rsp)
	movslq	%r12d, %r12
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
.L114:
	movq	24(%rsp), %rsi
	movl	$402, %ecx
	movq	%r12, %rdx
	movq	%rbp, %rdi
	call	__memcpy_chk@PLT
.L134:
	movq	16(%rsp), %rdi
	movq	%r12, %rdx
	movl	$402, %ecx
	movq	%rbp, %rsi
	call	__memcpy_chk@PLT
	movl	try(%rip), %r13d
	movl	%r13d, %edx
	subl	%ebx, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	912(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L98
	movl	4+try(%rip), %r15d
	subl	$1, %edx
	movb	%dl, 912(%rsp,%rax)
	movl	%r15d, %ecx
	subl	%ebx, %ecx
	movl	%ecx, %edx
	negl	%edx
	cmovs	%ecx, %edx
	movslq	%edx, %rdx
	movzbl	912(%rsp,%rdx), %ecx
	testb	%cl, %cl
	je	.L98
	movl	8+try(%rip), %edi
	subl	$1, %ecx
	movb	%cl, 912(%rsp,%rdx)
	movl	%edi, %esi
	movl	%edi, 40(%rsp)
	subl	%ebx, %esi
	movl	%esi, %ecx
	negl	%ecx
	cmovs	%esi, %ecx
	movslq	%ecx, %rcx
	movzbl	912(%rsp,%rcx), %esi
	testb	%sil, %sil
	je	.L98
	subl	$1, %esi
	movb	%sil, 912(%rsp,%rcx)
	movl	12+try(%rip), %esi
	movl	%esi, %edi
	movl	%esi, 48(%rsp)
	subl	%ebx, %edi
	movl	%edi, %esi
	negl	%esi
	cmovs	%edi, %esi
	movslq	%esi, %rsi
	movzbl	912(%rsp,%rsi), %edi
	testb	%dil, %dil
	je	.L98
	subl	$1, %edi
	movb	%dil, 912(%rsp,%rsi)
	movl	16+try(%rip), %edi
	movl	%edi, %r8d
	movl	%edi, 52(%rsp)
	subl	%ebx, %r8d
	movl	%r8d, %edi
	negl	%edi
	cmovs	%r8d, %edi
	movslq	%edi, %rdi
	movzbl	912(%rsp,%rdi), %r8d
	testb	%r8b, %r8b
	je	.L98
	movl	20+try(%rip), %r14d
	subl	$1, %r8d
	movb	%r8b, 912(%rsp,%rdi)
	movl	%r14d, %r9d
	movl	%r14d, 56(%rsp)
	subl	%ebx, %r9d
	movl	%r9d, %r8d
	negl	%r8d
	cmovs	%r9d, %r8d
	movslq	%r8d, %r8
	movzbl	912(%rsp,%r8), %r9d
	testb	%r9b, %r9b
	je	.L98
	movl	24+try(%rip), %r14d
	subl	$1, %r9d
	movb	%r9b, 912(%rsp,%r8)
	movl	%r14d, %r10d
	movl	%r14d, 60(%rsp)
	subl	%ebx, %r10d
	movl	%r10d, %r9d
	negl	%r9d
	cmovs	%r10d, %r9d
	movslq	%r9d, %r9
	movzbl	912(%rsp,%r9), %r10d
	testb	%r10b, %r10b
	je	.L98
	movl	28+try(%rip), %r14d
	subl	$1, %r10d
	movb	%r10b, 912(%rsp,%r9)
	movl	%r14d, %r11d
	movl	%r14d, 64(%rsp)
	subl	%ebx, %r11d
	movl	%r11d, %r10d
	negl	%r10d
	cmovs	%r11d, %r10d
	movslq	%r10d, %r10
	movzbl	912(%rsp,%r10), %r11d
	testb	%r11b, %r11b
	je	.L98
	movl	32+try(%rip), %r14d
	subl	$1, %r11d
	movb	%r11b, 912(%rsp,%r10)
	movl	%r14d, 68(%rsp)
	subl	%ebx, %r14d
	movl	%r14d, %r11d
	negl	%r11d
	cmovs	%r14d, %r11d
	movslq	%r11d, %r11
	cmpb	$0, 912(%rsp,%r11)
	je	.L98
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	subb	$1, 0(%rbp,%rcx)
	subb	$1, 0(%rbp,%rsi)
	subb	$1, 0(%rbp,%rdi)
	subb	$1, 0(%rbp,%r8)
	subb	$1, 0(%rbp,%r9)
	subb	$1, 0(%rbp,%r10)
	subb	$1, 0(%rbp,%r11)
	cmpl	$10, N(%rip)
	movl	%ebx, 36+try(%rip)
	je	.L119
	movslq	12(%rsp), %rcx
	xorl	%r8d, %r8d
	movl	12(%rsp), %r14d
	leaq	1+f(%rip), %rdx
	movq	%rcx, %rax
	subl	$1, %eax
	cmpb	$0, 0(%rbp,%rcx)
	cltq
	jne	.L121
	.p2align 4,,10
	.p2align 3
.L127:
	movl	%eax, %r14d
	subq	$1, %rax
	cmpb	$0, (%rdx,%rax)
	je	.L127
	movl	12(%rsp), %r8d
	subl	%r14d, %r8d
.L121:
	movl	$402, %ecx
	movq	%r12, %rdx
	movq	%rbp, %rsi
	movl	%r8d, 12(%rsp)
	leaq	496(%rsp), %rax
	movq	%rax, %rdi
	movq	%rax, 32(%rsp)
	call	__memcpy_chk@PLT
	movq	16(%rsp), %rdi
	movq	%r12, %rdx
	movq	%rbp, %rsi
	movl	$402, %ecx
	call	__memcpy_chk@PLT
	movl	12(%rsp), %r8d
	subl	%r8d, %r13d
	movl	%r13d, %eax
	negl	%eax
	cmovs	%r13d, %eax
	cltq
	movzbl	912(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L131
	subl	$1, %edx
	subl	%r8d, %r15d
	movb	%dl, 912(%rsp,%rax)
	movl	%r15d, %edx
	negl	%edx
	cmovs	%r15d, %edx
	movslq	%edx, %rdx
	movzbl	912(%rsp,%rdx), %ecx
	testb	%cl, %cl
	je	.L131
	movl	40(%rsp), %esi
	subl	$1, %ecx
	movb	%cl, 912(%rsp,%rdx)
	subl	%r8d, %esi
	movl	%esi, %ecx
	negl	%ecx
	cmovs	%esi, %ecx
	movslq	%ecx, %rcx
	movzbl	912(%rsp,%rcx), %esi
	testb	%sil, %sil
	je	.L131
	subl	$1, %esi
	movb	%sil, 912(%rsp,%rcx)
	movl	48(%rsp), %esi
	subl	%r8d, %esi
	movl	%esi, %edi
	negl	%esi
	cmovs	%edi, %esi
	movslq	%esi, %rsi
	movzbl	912(%rsp,%rsi), %edi
	testb	%dil, %dil
	je	.L131
	movl	52(%rsp), %r9d
	subl	$1, %edi
	movb	%dil, 912(%rsp,%rsi)
	subl	%r8d, %r9d
	movl	%r9d, %r15d
	negl	%r15d
	movl	%r15d, %edi
	cmovs	%r9d, %edi
	movslq	%edi, %rdi
	movzbl	912(%rsp,%rdi), %r9d
	testb	%r9b, %r9b
	je	.L131
	movl	56(%rsp), %r10d
	subl	$1, %r9d
	movb	%r9b, 912(%rsp,%rdi)
	subl	%r8d, %r10d
	movl	%r10d, %r9d
	negl	%r9d
	cmovs	%r10d, %r9d
	movslq	%r9d, %r9
	movzbl	912(%rsp,%r9), %r10d
	testb	%r10b, %r10b
	je	.L131
	subl	$1, %r10d
	movb	%r10b, 912(%rsp,%r9)
	movl	60(%rsp), %r10d
	subl	%r8d, %r10d
	movl	%r10d, %r11d
	negl	%r11d
	cmovs	%r10d, %r11d
	movslq	%r11d, %r11
	movzbl	912(%rsp,%r11), %r10d
	testb	%r10b, %r10b
	je	.L131
	subl	$1, %r10d
	movb	%r10b, 912(%rsp,%r11)
	movl	64(%rsp), %r10d
	subl	%r8d, %r10d
	movl	%r10d, %r13d
	negl	%r13d
	cmovs	%r10d, %r13d
	movslq	%r13d, %r13
	movzbl	912(%rsp,%r13), %r10d
	testb	%r10b, %r10b
	je	.L131
	subl	$1, %r10d
	movb	%r10b, 912(%rsp,%r13)
	movl	68(%rsp), %r10d
	subl	%r8d, %r10d
	movl	%r10d, %r15d
	negl	%r15d
	cmovns	%r15d, %r10d
	movslq	%r10d, %r10
	movzbl	912(%rsp,%r10), %r15d
	testb	%r15b, %r15b
	je	.L131
	subl	$1, %r15d
	subl	%r8d, %ebx
	movb	%r15b, 912(%rsp,%r10)
	movl	%ebx, %r15d
	negl	%r15d
	cmovs	%ebx, %r15d
	movslq	%r15d, %r15
	cmpb	$0, 912(%rsp,%r15)
	je	.L131
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	subb	$1, 0(%rbp,%rcx)
	subb	$1, 0(%rbp,%rsi)
	subb	$1, 0(%rbp,%rdi)
	movl	$11, %edi
	subb	$1, 0(%rbp,%r9)
	subb	$1, 0(%rbp,%r11)
	subb	$1, 0(%rbp,%r13)
	subb	$1, 0(%rbp,%r10)
	subb	$1, 0(%rbp,%r15)
	movl	%r8d, 40+try(%rip)
	call	combi
	movl	max(%rip), %ebx
	movq	32(%rsp), %rsi
	movq	%rbp, %rdi
	movl	$402, %ecx
	leal	1(%rbx), %r12d
	movslq	%r12d, %r12
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
.L131:
	movq	16(%rsp), %rdi
	movq	%r12, %rdx
	movl	$402, %ecx
	movq	%rbp, %rsi
	call	__memcpy_chk@PLT
	movl	try(%rip), %edx
	subl	%r14d, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	912(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L126
	movl	4+try(%rip), %ecx
	subl	$1, %edx
	movb	%dl, 912(%rsp,%rax)
	subl	%r14d, %ecx
	movl	%ecx, %edx
	negl	%edx
	cmovs	%ecx, %edx
	movslq	%edx, %rdx
	movzbl	912(%rsp,%rdx), %ecx
	testb	%cl, %cl
	je	.L126
	movl	8+try(%rip), %esi
	subl	$1, %ecx
	movb	%cl, 912(%rsp,%rdx)
	subl	%r14d, %esi
	movl	%esi, %ecx
	negl	%ecx
	cmovs	%esi, %ecx
	movslq	%ecx, %rcx
	movzbl	912(%rsp,%rcx), %esi
	testb	%sil, %sil
	je	.L126
	movl	12+try(%rip), %edi
	subl	$1, %esi
	movb	%sil, 912(%rsp,%rcx)
	subl	%r14d, %edi
	movl	%edi, %esi
	negl	%esi
	cmovs	%edi, %esi
	movslq	%esi, %rsi
	movzbl	912(%rsp,%rsi), %edi
	testb	%dil, %dil
	je	.L126
	movl	16+try(%rip), %r8d
	subl	$1, %edi
	movb	%dil, 912(%rsp,%rsi)
	subl	%r14d, %r8d
	movl	%r8d, %edi
	negl	%edi
	cmovs	%r8d, %edi
	movslq	%edi, %rdi
	movzbl	912(%rsp,%rdi), %r8d
	testb	%r8b, %r8b
	je	.L126
	movl	20+try(%rip), %r9d
	subl	$1, %r8d
	movb	%r8b, 912(%rsp,%rdi)
	subl	%r14d, %r9d
	movl	%r9d, %r8d
	negl	%r8d
	cmovs	%r9d, %r8d
	movslq	%r8d, %r8
	movzbl	912(%rsp,%r8), %r9d
	testb	%r9b, %r9b
	je	.L126
	movl	24+try(%rip), %r10d
	subl	$1, %r9d
	movb	%r9b, 912(%rsp,%r8)
	subl	%r14d, %r10d
	movl	%r10d, %r9d
	negl	%r9d
	cmovs	%r10d, %r9d
	movslq	%r9d, %r9
	movzbl	912(%rsp,%r9), %r10d
	testb	%r10b, %r10b
	je	.L126
	movl	28+try(%rip), %r11d
	subl	$1, %r10d
	movb	%r10b, 912(%rsp,%r9)
	subl	%r14d, %r11d
	movl	%r11d, %r10d
	negl	%r10d
	cmovs	%r11d, %r10d
	movslq	%r10d, %r10
	movzbl	912(%rsp,%r10), %r11d
	testb	%r11b, %r11b
	je	.L126
	movl	32+try(%rip), %ebx
	subl	$1, %r11d
	movb	%r11b, 912(%rsp,%r10)
	subl	%r14d, %ebx
	movl	%ebx, %r11d
	negl	%r11d
	cmovs	%ebx, %r11d
	movslq	%r11d, %r11
	movzbl	912(%rsp,%r11), %ebx
	testb	%bl, %bl
	je	.L126
	movl	36+try(%rip), %r13d
	subl	$1, %ebx
	movb	%bl, 912(%rsp,%r11)
	subl	%r14d, %r13d
	movl	%r13d, %ebx
	negl	%ebx
	cmovs	%r13d, %ebx
	movslq	%ebx, %rbx
	cmpb	$0, 912(%rsp,%rbx)
	je	.L126
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	subb	$1, 0(%rbp,%rcx)
	subb	$1, 0(%rbp,%rsi)
	subb	$1, 0(%rbp,%rdi)
	movl	$11, %edi
	subb	$1, 0(%rbp,%r8)
	subb	$1, 0(%rbp,%r9)
	subb	$1, 0(%rbp,%r10)
	subb	$1, 0(%rbp,%r11)
	subb	$1, 0(%rbp,%rbx)
	movl	%r14d, 40+try(%rip)
	call	combi
	movl	max(%rip), %eax
	movq	32(%rsp), %rsi
	movq	%rbp, %rdi
	movl	$402, %ecx
	leal	1(%rax), %r12d
	movslq	%r12d, %r12
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
.L126:
	movq	24(%rsp), %rsi
	movl	$402, %ecx
	movq	%r12, %rdx
	movq	%rbp, %rdi
	call	__memcpy_chk@PLT
.L98:
	movq	1320(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L316
	addq	$1336, %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
.L119:
	.cfi_restore_state
	movslq	asz(%rip), %rax
	leaq	ans(%rip), %r13
	movdqa	try(%rip), %xmm4
	leaq	cmp(%rip), %rcx
	movdqa	16+try(%rip), %xmm5
	movl	$4, %edx
	movl	$10, %esi
	leaq	(%rax,%rax,4), %rdi
	movq	32+try(%rip), %rax
	salq	$4, %rdi
	addq	%r13, %rdi
	movq	%rax, 32(%rdi)
	movaps	%xmm4, (%rdi)
	movaps	%xmm5, 16(%rdi)
	call	qsort@PLT
	movl	asz(%rip), %r15d
	testl	%r15d, %r15d
	je	.L317
	movslq	%r15d, %rax
	movq	%r13, %rbx
	movslq	N(%rip), %r14
	leaq	(%rax,%rax,4), %r12
	leal	-1(%r15), %eax
	salq	$4, %r12
	salq	$2, %r14
	addq	%r13, %r12
	leaq	(%rax,%rax,4), %r13
	leaq	80(%rbx), %rax
	salq	$4, %r13
	addq	%rax, %r13
	jmp	.L124
	.p2align 4,,10
	.p2align 3
.L319:
	addq	$80, %rbx
	cmpq	%r13, %rbx
	je	.L318
.L124:
	movq	%r14, %rdx
	movq	%r12, %rsi
	movq	%rbx, %rdi
	call	memcmp@PLT
	testl	%eax, %eax
	jne	.L319
.L123:
	movl	max(%rip), %eax
	leal	1(%rax), %r12d
	movslq	%r12d, %r12
	jmp	.L126
.L107:
	movslq	asz(%rip), %rax
	leaq	ans(%rip), %r13
	movdqa	try(%rip), %xmm2
	leaq	cmp(%rip), %rcx
	movdqa	16+try(%rip), %xmm3
	movl	$4, %edx
	movl	$10, %esi
	leaq	(%rax,%rax,4), %rdi
	movq	32+try(%rip), %rax
	salq	$4, %rdi
	addq	%r13, %rdi
	movq	%rax, 32(%rdi)
	movaps	%xmm2, (%rdi)
	movaps	%xmm3, 16(%rdi)
	call	qsort@PLT
	movl	asz(%rip), %eax
	movl	%eax, 12(%rsp)
	testl	%eax, %eax
	je	.L320
	cltq
	movq	%r13, %r15
	movslq	N(%rip), %r14
	leaq	(%rax,%rax,4), %r12
	leal	-1(%rax), %eax
	salq	$4, %r12
	salq	$2, %r14
	addq	%r13, %r12
	leaq	(%rax,%rax,4), %r13
	leaq	80(%r15), %rax
	salq	$4, %r13
	addq	%rax, %r13
	jmp	.L112
	.p2align 4,,10
	.p2align 3
.L322:
	addq	$80, %r15
	cmpq	%r13, %r15
	je	.L321
.L112:
	movq	%r14, %rdx
	movq	%r12, %rsi
	movq	%r15, %rdi
	call	memcmp@PLT
	testl	%eax, %eax
	jne	.L322
.L111:
	movl	max(%rip), %eax
	leal	1(%rax), %r12d
	movl	%eax, 12(%rsp)
	movslq	%r12d, %r12
	jmp	.L114
	.p2align 4,,10
	.p2align 3
.L314:
	movslq	asz(%rip), %rax
	leaq	ans(%rip), %r13
	movdqa	try(%rip), %xmm0
	leaq	cmp(%rip), %rcx
	movdqa	16+try(%rip), %xmm1
	movl	$4, %edx
	movl	$9, %esi
	leaq	(%rax,%rax,4), %rdi
	movl	32+try(%rip), %eax
	salq	$4, %rdi
	addq	%r13, %rdi
	movl	%eax, 32(%rdi)
	movaps	%xmm0, (%rdi)
	movaps	%xmm1, 16(%rdi)
	call	qsort@PLT
	movl	asz(%rip), %r14d
	testl	%r14d, %r14d
	je	.L323
	movslq	%r14d, %rax
	movq	%r13, %rbx
	movslq	N(%rip), %r12
	leaq	(%rax,%rax,4), %rbp
	leal	-1(%r14), %eax
	salq	$4, %rbp
	salq	$2, %r12
	addq	%r13, %rbp
	leaq	(%rax,%rax,4), %r13
	leaq	80(%rbx), %rax
	salq	$4, %r13
	addq	%rax, %r13
	jmp	.L102
	.p2align 4,,10
	.p2align 3
.L325:
	addq	$80, %rbx
	cmpq	%r13, %rbx
	je	.L324
.L102:
	movq	%r12, %rdx
	movq	%rbp, %rsi
	movq	%rbx, %rdi
	call	memcmp@PLT
	testl	%eax, %eax
	jne	.L325
	jmp	.L98
	.p2align 4,,10
	.p2align 3
.L136:
	movl	%r15d, %ebx
	xorl	%r13d, %r13d
	jmp	.L104
.L324:
	addl	$1, %r14d
.L103:
	movl	%r14d, asz(%rip)
	jmp	.L98
.L320:
	movl	$1, %r15d
.L113:
	movl	%r15d, asz(%rip)
	jmp	.L111
.L317:
	movl	$1, %r15d
.L125:
	movl	%r15d, asz(%rip)
	jmp	.L123
.L315:
	movl	12(%rsp), %r14d
	xorl	%r15d, %r15d
	jmp	.L109
.L321:
	movl	12(%rsp), %r15d
	addl	$1, %r15d
	jmp	.L113
.L318:
	addl	$1, %r15d
	jmp	.L125
.L323:
	movl	$1, %r14d
	jmp	.L103
.L316:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE63:
	.size	combi.constprop.7, .-combi.constprop.7
	.p2align 4
	.type	combi.constprop.6, @function
combi.constprop.6:
.LFB64:
	.cfi_startproc
	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	$840, %rsp
	.cfi_def_cfa_offset 896
	movq	%fs:40, %rax
	movq	%rax, 824(%rsp)
	xorl	%eax, %eax
	cmpl	$8, N(%rip)
	je	.L387
	movslq	max(%rip), %rax
	leaq	f(%rip), %rbp
	cmpb	$0, 0(%rbp,%rax)
	movq	%rax, %r12
	jne	.L338
	leal	-1(%rax), %eax
	leaq	1(%rbp), %rdx
	cltq
	.p2align 4,,10
	.p2align 3
.L333:
	movl	%eax, %ebx
	subq	$1, %rax
	cmpb	$0, (%rdx,%rax)
	je	.L333
	movl	%r12d, %r14d
	subl	%ebx, %r14d
.L332:
	addl	$1, %r12d
	movq	%rsp, %r13
	movl	$402, %ecx
	movq	%rbp, %rsi
	movslq	%r12d, %r12
	movq	%r13, %rdi
	leaq	416(%rsp), %r15
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
	movq	%r12, %rdx
	movl	$402, %ecx
	movq	%rbp, %rsi
	movq	%r15, %rdi
	call	__memcpy_chk@PLT
	movl	try(%rip), %edx
	subl	%r14d, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	416(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L336
	movl	4+try(%rip), %ecx
	subl	$1, %edx
	movb	%dl, 416(%rsp,%rax)
	subl	%r14d, %ecx
	movl	%ecx, %edx
	negl	%edx
	cmovs	%ecx, %edx
	movslq	%edx, %rdx
	movzbl	416(%rsp,%rdx), %ecx
	testb	%cl, %cl
	je	.L336
	movl	8+try(%rip), %esi
	subl	$1, %ecx
	movb	%cl, 416(%rsp,%rdx)
	subl	%r14d, %esi
	movl	%esi, %ecx
	negl	%ecx
	cmovs	%esi, %ecx
	movslq	%ecx, %rcx
	movzbl	416(%rsp,%rcx), %esi
	testb	%sil, %sil
	je	.L336
	movl	12+try(%rip), %edi
	subl	$1, %esi
	movb	%sil, 416(%rsp,%rcx)
	subl	%r14d, %edi
	movl	%edi, %esi
	negl	%esi
	cmovs	%edi, %esi
	movslq	%esi, %rsi
	movzbl	416(%rsp,%rsi), %edi
	testb	%dil, %dil
	je	.L336
	movl	16+try(%rip), %r8d
	subl	$1, %edi
	movb	%dil, 416(%rsp,%rsi)
	subl	%r14d, %r8d
	movl	%r8d, %edi
	negl	%edi
	cmovs	%r8d, %edi
	movslq	%edi, %rdi
	movzbl	416(%rsp,%rdi), %r8d
	testb	%r8b, %r8b
	je	.L336
	movl	20+try(%rip), %r9d
	subl	$1, %r8d
	movb	%r8b, 416(%rsp,%rdi)
	subl	%r14d, %r9d
	movl	%r9d, %r8d
	negl	%r8d
	cmovs	%r9d, %r8d
	movslq	%r8d, %r8
	movzbl	416(%rsp,%r8), %r9d
	testb	%r9b, %r9b
	je	.L336
	movl	24+try(%rip), %r10d
	subl	$1, %r9d
	movb	%r9b, 416(%rsp,%r8)
	subl	%r14d, %r10d
	movl	%r10d, %r9d
	negl	%r9d
	cmovs	%r10d, %r9d
	movslq	%r9d, %r9
	movzbl	416(%rsp,%r9), %r10d
	testb	%r10b, %r10b
	je	.L336
	movl	28+try(%rip), %r11d
	subl	$1, %r10d
	movb	%r10b, 416(%rsp,%r9)
	subl	%r14d, %r11d
	movl	%r11d, %r10d
	negl	%r10d
	cmovs	%r11d, %r10d
	movslq	%r10d, %r10
	cmpb	$0, 416(%rsp,%r10)
	je	.L336
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	subb	$1, 0(%rbp,%rcx)
	subb	$1, 0(%rbp,%rsi)
	subb	$1, 0(%rbp,%rdi)
	subb	$1, 0(%rbp,%r8)
	subb	$1, 0(%rbp,%r9)
	subb	$1, 0(%rbp,%r10)
	movl	%r14d, 32+try(%rip)
	call	combi.constprop.7
	movl	$402, %ecx
	movq	%r13, %rsi
	movq	%rbp, %rdi
	movl	max(%rip), %eax
	leal	1(%rax), %r12d
	movslq	%r12d, %r12
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
.L336:
	movq	%r12, %rdx
	movl	$402, %ecx
	movq	%rbp, %rsi
	movq	%r15, %rdi
	call	__memcpy_chk@PLT
	movl	try(%rip), %edx
	subl	%ebx, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	416(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L326
	movl	4+try(%rip), %ecx
	subl	$1, %edx
	movb	%dl, 416(%rsp,%rax)
	subl	%ebx, %ecx
	movl	%ecx, %edx
	negl	%edx
	cmovs	%ecx, %edx
	movslq	%edx, %rdx
	movzbl	416(%rsp,%rdx), %ecx
	testb	%cl, %cl
	je	.L326
	movl	8+try(%rip), %esi
	subl	$1, %ecx
	movb	%cl, 416(%rsp,%rdx)
	subl	%ebx, %esi
	movl	%esi, %ecx
	negl	%ecx
	cmovs	%esi, %ecx
	movslq	%ecx, %rcx
	movzbl	416(%rsp,%rcx), %esi
	testb	%sil, %sil
	je	.L326
	movl	12+try(%rip), %edi
	subl	$1, %esi
	movb	%sil, 416(%rsp,%rcx)
	subl	%ebx, %edi
	movl	%edi, %esi
	negl	%esi
	cmovs	%edi, %esi
	movslq	%esi, %rsi
	movzbl	416(%rsp,%rsi), %edi
	testb	%dil, %dil
	je	.L326
	movl	16+try(%rip), %r8d
	subl	$1, %edi
	movb	%dil, 416(%rsp,%rsi)
	subl	%ebx, %r8d
	movl	%r8d, %edi
	negl	%edi
	cmovs	%r8d, %edi
	movslq	%edi, %rdi
	movzbl	416(%rsp,%rdi), %r8d
	testb	%r8b, %r8b
	je	.L326
	movl	20+try(%rip), %r9d
	subl	$1, %r8d
	movb	%r8b, 416(%rsp,%rdi)
	subl	%ebx, %r9d
	movl	%r9d, %r8d
	negl	%r8d
	cmovs	%r9d, %r8d
	movslq	%r8d, %r8
	movzbl	416(%rsp,%r8), %r9d
	testb	%r9b, %r9b
	je	.L326
	movl	24+try(%rip), %r10d
	subl	$1, %r9d
	movb	%r9b, 416(%rsp,%r8)
	subl	%ebx, %r10d
	movl	%r10d, %r9d
	negl	%r9d
	cmovs	%r10d, %r9d
	movslq	%r9d, %r9
	movzbl	416(%rsp,%r9), %r10d
	testb	%r10b, %r10b
	je	.L326
	movl	28+try(%rip), %r11d
	subl	$1, %r10d
	movb	%r10b, 416(%rsp,%r9)
	subl	%ebx, %r11d
	movl	%r11d, %r10d
	negl	%r10d
	cmovs	%r11d, %r10d
	movslq	%r10d, %r10
	cmpb	$0, 416(%rsp,%r10)
	je	.L326
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	subb	$1, 0(%rbp,%rcx)
	subb	$1, 0(%rbp,%rsi)
	subb	$1, 0(%rbp,%rdi)
	subb	$1, 0(%rbp,%r8)
	subb	$1, 0(%rbp,%r9)
	subb	$1, 0(%rbp,%r10)
	movl	%ebx, 32+try(%rip)
	call	combi.constprop.7
	movl	$402, %ecx
	movq	%r13, %rsi
	movq	%rbp, %rdi
	movl	max(%rip), %eax
	leal	1(%rax), %edx
	movslq	%edx, %rdx
	call	__memcpy_chk@PLT
.L326:
	movq	824(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L388
	addq	$840, %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
	.p2align 4,,10
	.p2align 3
.L387:
	.cfi_restore_state
	movslq	asz(%rip), %rax
	movdqa	try(%rip), %xmm0
	leaq	ans(%rip), %rbx
	leaq	cmp(%rip), %rcx
	movdqa	16+try(%rip), %xmm1
	movl	$4, %edx
	movl	$8, %esi
	leaq	(%rax,%rax,4), %rdi
	salq	$4, %rdi
	addq	%rbx, %rdi
	movaps	%xmm0, (%rdi)
	movaps	%xmm1, 16(%rdi)
	call	qsort@PLT
	movl	asz(%rip), %r13d
	testl	%r13d, %r13d
	je	.L389
	movslq	%r13d, %rax
	movslq	N(%rip), %r12
	leaq	(%rax,%rax,4), %rbp
	leal	-1(%r13), %eax
	leaq	(%rax,%rax,4), %r14
	salq	$4, %rbp
	leaq	80+ans(%rip), %rax
	salq	$2, %r12
	salq	$4, %r14
	addq	%rbx, %rbp
	addq	%rax, %r14
	.p2align 4,,10
	.p2align 3
.L330:
	movq	%r12, %rdx
	movq	%rbp, %rsi
	movq	%rbx, %rdi
	call	memcmp@PLT
	testl	%eax, %eax
	je	.L326
	addq	$80, %rbx
	cmpq	%r14, %rbx
	jne	.L330
	addl	$1, %r13d
.L331:
	movl	%r13d, asz(%rip)
	jmp	.L326
	.p2align 4,,10
	.p2align 3
.L338:
	movl	%eax, %ebx
	xorl	%r14d, %r14d
	jmp	.L332
.L389:
	movl	$1, %r13d
	jmp	.L331
.L388:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE64:
	.size	combi.constprop.6, .-combi.constprop.6
	.p2align 4
	.type	combi.constprop.5, @function
combi.constprop.5:
.LFB65:
	.cfi_startproc
	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	$840, %rsp
	.cfi_def_cfa_offset 896
	movq	%fs:40, %rax
	movq	%rax, 824(%rsp)
	xorl	%eax, %eax
	cmpl	$7, N(%rip)
	je	.L445
	movslq	max(%rip), %rax
	leaq	f(%rip), %rbp
	cmpb	$0, 0(%rbp,%rax)
	movq	%rax, %r12
	jne	.L402
	leal	-1(%rax), %eax
	leaq	1(%rbp), %rdx
	cltq
	.p2align 4,,10
	.p2align 3
.L397:
	movl	%eax, %ebx
	subq	$1, %rax
	cmpb	$0, (%rdx,%rax)
	je	.L397
	movl	%r12d, %r14d
	subl	%ebx, %r14d
.L396:
	addl	$1, %r12d
	movq	%rsp, %r13
	movl	$402, %ecx
	movq	%rbp, %rsi
	movslq	%r12d, %r12
	movq	%r13, %rdi
	leaq	416(%rsp), %r15
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
	movq	%r12, %rdx
	movl	$402, %ecx
	movq	%rbp, %rsi
	movq	%r15, %rdi
	call	__memcpy_chk@PLT
	movl	try(%rip), %edx
	subl	%r14d, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	416(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L400
	movl	4+try(%rip), %ecx
	subl	$1, %edx
	movb	%dl, 416(%rsp,%rax)
	subl	%r14d, %ecx
	movl	%ecx, %edx
	negl	%edx
	cmovs	%ecx, %edx
	movslq	%edx, %rdx
	movzbl	416(%rsp,%rdx), %ecx
	testb	%cl, %cl
	je	.L400
	movl	8+try(%rip), %esi
	subl	$1, %ecx
	movb	%cl, 416(%rsp,%rdx)
	subl	%r14d, %esi
	movl	%esi, %ecx
	negl	%ecx
	cmovs	%esi, %ecx
	movslq	%ecx, %rcx
	movzbl	416(%rsp,%rcx), %esi
	testb	%sil, %sil
	je	.L400
	movl	12+try(%rip), %edi
	subl	$1, %esi
	movb	%sil, 416(%rsp,%rcx)
	subl	%r14d, %edi
	movl	%edi, %esi
	negl	%esi
	cmovs	%edi, %esi
	movslq	%esi, %rsi
	movzbl	416(%rsp,%rsi), %edi
	testb	%dil, %dil
	je	.L400
	movl	16+try(%rip), %r8d
	subl	$1, %edi
	movb	%dil, 416(%rsp,%rsi)
	subl	%r14d, %r8d
	movl	%r8d, %edi
	negl	%edi
	cmovs	%r8d, %edi
	movslq	%edi, %rdi
	movzbl	416(%rsp,%rdi), %r8d
	testb	%r8b, %r8b
	je	.L400
	movl	20+try(%rip), %r9d
	subl	$1, %r8d
	movb	%r8b, 416(%rsp,%rdi)
	subl	%r14d, %r9d
	movl	%r9d, %r8d
	negl	%r8d
	cmovs	%r9d, %r8d
	movslq	%r8d, %r8
	movzbl	416(%rsp,%r8), %r9d
	testb	%r9b, %r9b
	je	.L400
	movl	24+try(%rip), %r10d
	subl	$1, %r9d
	movb	%r9b, 416(%rsp,%r8)
	subl	%r14d, %r10d
	movl	%r10d, %r9d
	negl	%r9d
	cmovs	%r10d, %r9d
	movslq	%r9d, %r9
	cmpb	$0, 416(%rsp,%r9)
	je	.L400
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	subb	$1, 0(%rbp,%rcx)
	subb	$1, 0(%rbp,%rsi)
	subb	$1, 0(%rbp,%rdi)
	subb	$1, 0(%rbp,%r8)
	subb	$1, 0(%rbp,%r9)
	movl	%r14d, 28+try(%rip)
	call	combi.constprop.6
	movl	$402, %ecx
	movq	%r13, %rsi
	movq	%rbp, %rdi
	movl	max(%rip), %eax
	leal	1(%rax), %r12d
	movslq	%r12d, %r12
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
.L400:
	movq	%r12, %rdx
	movl	$402, %ecx
	movq	%rbp, %rsi
	movq	%r15, %rdi
	call	__memcpy_chk@PLT
	movl	try(%rip), %edx
	subl	%ebx, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	416(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L390
	movl	4+try(%rip), %ecx
	subl	$1, %edx
	movb	%dl, 416(%rsp,%rax)
	subl	%ebx, %ecx
	movl	%ecx, %edx
	negl	%edx
	cmovs	%ecx, %edx
	movslq	%edx, %rdx
	movzbl	416(%rsp,%rdx), %ecx
	testb	%cl, %cl
	je	.L390
	movl	8+try(%rip), %esi
	subl	$1, %ecx
	movb	%cl, 416(%rsp,%rdx)
	subl	%ebx, %esi
	movl	%esi, %ecx
	negl	%ecx
	cmovs	%esi, %ecx
	movslq	%ecx, %rcx
	movzbl	416(%rsp,%rcx), %esi
	testb	%sil, %sil
	je	.L390
	movl	12+try(%rip), %edi
	subl	$1, %esi
	movb	%sil, 416(%rsp,%rcx)
	subl	%ebx, %edi
	movl	%edi, %esi
	negl	%esi
	cmovs	%edi, %esi
	movslq	%esi, %rsi
	movzbl	416(%rsp,%rsi), %edi
	testb	%dil, %dil
	je	.L390
	movl	16+try(%rip), %r8d
	subl	$1, %edi
	movb	%dil, 416(%rsp,%rsi)
	subl	%ebx, %r8d
	movl	%r8d, %edi
	negl	%edi
	cmovs	%r8d, %edi
	movslq	%edi, %rdi
	movzbl	416(%rsp,%rdi), %r8d
	testb	%r8b, %r8b
	je	.L390
	movl	20+try(%rip), %r9d
	subl	$1, %r8d
	movb	%r8b, 416(%rsp,%rdi)
	subl	%ebx, %r9d
	movl	%r9d, %r8d
	negl	%r8d
	cmovs	%r9d, %r8d
	movslq	%r8d, %r8
	movzbl	416(%rsp,%r8), %r9d
	testb	%r9b, %r9b
	je	.L390
	movl	24+try(%rip), %r10d
	subl	$1, %r9d
	movb	%r9b, 416(%rsp,%r8)
	subl	%ebx, %r10d
	movl	%r10d, %r9d
	negl	%r9d
	cmovs	%r10d, %r9d
	movslq	%r9d, %r9
	cmpb	$0, 416(%rsp,%r9)
	je	.L390
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	subb	$1, 0(%rbp,%rcx)
	subb	$1, 0(%rbp,%rsi)
	subb	$1, 0(%rbp,%rdi)
	subb	$1, 0(%rbp,%r8)
	subb	$1, 0(%rbp,%r9)
	movl	%ebx, 28+try(%rip)
	call	combi.constprop.6
	movl	$402, %ecx
	movq	%r13, %rsi
	movq	%rbp, %rdi
	movl	max(%rip), %eax
	leal	1(%rax), %edx
	movslq	%edx, %rdx
	call	__memcpy_chk@PLT
.L390:
	movq	824(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L446
	addq	$840, %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
	.p2align 4,,10
	.p2align 3
.L445:
	.cfi_restore_state
	movslq	asz(%rip), %rax
	leaq	ans(%rip), %rbx
	movdqa	try(%rip), %xmm0
	leaq	cmp(%rip), %rcx
	movl	$4, %edx
	movl	$7, %esi
	leaq	(%rax,%rax,4), %rdi
	movq	16+try(%rip), %rax
	salq	$4, %rdi
	addq	%rbx, %rdi
	movq	%rax, 16(%rdi)
	movl	24+try(%rip), %eax
	movaps	%xmm0, (%rdi)
	movl	%eax, 24(%rdi)
	call	qsort@PLT
	movl	asz(%rip), %r13d
	testl	%r13d, %r13d
	je	.L447
	movslq	%r13d, %rax
	movslq	N(%rip), %r12
	leaq	(%rax,%rax,4), %rbp
	leal	-1(%r13), %eax
	leaq	(%rax,%rax,4), %r14
	salq	$4, %rbp
	leaq	80+ans(%rip), %rax
	salq	$2, %r12
	salq	$4, %r14
	addq	%rbx, %rbp
	addq	%rax, %r14
	.p2align 4,,10
	.p2align 3
.L394:
	movq	%r12, %rdx
	movq	%rbp, %rsi
	movq	%rbx, %rdi
	call	memcmp@PLT
	testl	%eax, %eax
	je	.L390
	addq	$80, %rbx
	cmpq	%r14, %rbx
	jne	.L394
	addl	$1, %r13d
.L395:
	movl	%r13d, asz(%rip)
	jmp	.L390
	.p2align 4,,10
	.p2align 3
.L402:
	movl	%eax, %ebx
	xorl	%r14d, %r14d
	jmp	.L396
.L447:
	movl	$1, %r13d
	jmp	.L395
.L446:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE65:
	.size	combi.constprop.5, .-combi.constprop.5
	.p2align 4
	.type	combi.constprop.4, @function
combi.constprop.4:
.LFB66:
	.cfi_startproc
	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	$840, %rsp
	.cfi_def_cfa_offset 896
	movq	%fs:40, %rax
	movq	%rax, 824(%rsp)
	xorl	%eax, %eax
	cmpl	$6, N(%rip)
	je	.L497
	movslq	max(%rip), %rax
	leaq	f(%rip), %rbp
	cmpb	$0, 0(%rbp,%rax)
	movq	%rax, %r12
	jne	.L460
	leal	-1(%rax), %eax
	leaq	1(%rbp), %rdx
	cltq
	.p2align 4,,10
	.p2align 3
.L455:
	movl	%eax, %ebx
	subq	$1, %rax
	cmpb	$0, (%rdx,%rax)
	je	.L455
	movl	%r12d, %r14d
	subl	%ebx, %r14d
.L454:
	addl	$1, %r12d
	movq	%rsp, %r13
	movl	$402, %ecx
	movq	%rbp, %rsi
	movslq	%r12d, %r12
	movq	%r13, %rdi
	leaq	416(%rsp), %r15
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
	movq	%r12, %rdx
	movl	$402, %ecx
	movq	%rbp, %rsi
	movq	%r15, %rdi
	call	__memcpy_chk@PLT
	movl	try(%rip), %edx
	subl	%r14d, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	416(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L458
	movl	4+try(%rip), %ecx
	subl	$1, %edx
	movb	%dl, 416(%rsp,%rax)
	subl	%r14d, %ecx
	movl	%ecx, %edx
	negl	%edx
	cmovs	%ecx, %edx
	movslq	%edx, %rdx
	movzbl	416(%rsp,%rdx), %ecx
	testb	%cl, %cl
	je	.L458
	movl	8+try(%rip), %esi
	subl	$1, %ecx
	movb	%cl, 416(%rsp,%rdx)
	subl	%r14d, %esi
	movl	%esi, %ecx
	negl	%ecx
	cmovs	%esi, %ecx
	movslq	%ecx, %rcx
	movzbl	416(%rsp,%rcx), %esi
	testb	%sil, %sil
	je	.L458
	movl	12+try(%rip), %edi
	subl	$1, %esi
	movb	%sil, 416(%rsp,%rcx)
	subl	%r14d, %edi
	movl	%edi, %esi
	negl	%esi
	cmovs	%edi, %esi
	movslq	%esi, %rsi
	movzbl	416(%rsp,%rsi), %edi
	testb	%dil, %dil
	je	.L458
	movl	16+try(%rip), %r8d
	subl	$1, %edi
	movb	%dil, 416(%rsp,%rsi)
	subl	%r14d, %r8d
	movl	%r8d, %edi
	negl	%edi
	cmovs	%r8d, %edi
	movslq	%edi, %rdi
	movzbl	416(%rsp,%rdi), %r8d
	testb	%r8b, %r8b
	je	.L458
	movl	20+try(%rip), %r9d
	subl	$1, %r8d
	movb	%r8b, 416(%rsp,%rdi)
	subl	%r14d, %r9d
	movl	%r9d, %r8d
	negl	%r8d
	cmovs	%r9d, %r8d
	movslq	%r8d, %r8
	cmpb	$0, 416(%rsp,%r8)
	je	.L458
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	subb	$1, 0(%rbp,%rcx)
	subb	$1, 0(%rbp,%rsi)
	subb	$1, 0(%rbp,%rdi)
	subb	$1, 0(%rbp,%r8)
	movl	%r14d, 24+try(%rip)
	call	combi.constprop.5
	movl	$402, %ecx
	movq	%r13, %rsi
	movq	%rbp, %rdi
	movl	max(%rip), %eax
	leal	1(%rax), %r12d
	movslq	%r12d, %r12
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
.L458:
	movq	%r12, %rdx
	movl	$402, %ecx
	movq	%rbp, %rsi
	movq	%r15, %rdi
	call	__memcpy_chk@PLT
	movl	try(%rip), %edx
	subl	%ebx, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	416(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L448
	movl	4+try(%rip), %ecx
	subl	$1, %edx
	movb	%dl, 416(%rsp,%rax)
	subl	%ebx, %ecx
	movl	%ecx, %edx
	negl	%edx
	cmovs	%ecx, %edx
	movslq	%edx, %rdx
	movzbl	416(%rsp,%rdx), %ecx
	testb	%cl, %cl
	je	.L448
	movl	8+try(%rip), %esi
	subl	$1, %ecx
	movb	%cl, 416(%rsp,%rdx)
	subl	%ebx, %esi
	movl	%esi, %ecx
	negl	%ecx
	cmovs	%esi, %ecx
	movslq	%ecx, %rcx
	movzbl	416(%rsp,%rcx), %esi
	testb	%sil, %sil
	je	.L448
	movl	12+try(%rip), %edi
	subl	$1, %esi
	movb	%sil, 416(%rsp,%rcx)
	subl	%ebx, %edi
	movl	%edi, %esi
	negl	%esi
	cmovs	%edi, %esi
	movslq	%esi, %rsi
	movzbl	416(%rsp,%rsi), %edi
	testb	%dil, %dil
	je	.L448
	movl	16+try(%rip), %r8d
	subl	$1, %edi
	movb	%dil, 416(%rsp,%rsi)
	subl	%ebx, %r8d
	movl	%r8d, %edi
	negl	%edi
	cmovs	%r8d, %edi
	movslq	%edi, %rdi
	movzbl	416(%rsp,%rdi), %r8d
	testb	%r8b, %r8b
	je	.L448
	movl	20+try(%rip), %r9d
	subl	$1, %r8d
	movb	%r8b, 416(%rsp,%rdi)
	subl	%ebx, %r9d
	movl	%r9d, %r8d
	negl	%r8d
	cmovs	%r9d, %r8d
	movslq	%r8d, %r8
	cmpb	$0, 416(%rsp,%r8)
	je	.L448
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	subb	$1, 0(%rbp,%rcx)
	subb	$1, 0(%rbp,%rsi)
	subb	$1, 0(%rbp,%rdi)
	subb	$1, 0(%rbp,%r8)
	movl	%ebx, 24+try(%rip)
	call	combi.constprop.5
	movl	$402, %ecx
	movq	%r13, %rsi
	movq	%rbp, %rdi
	movl	max(%rip), %eax
	leal	1(%rax), %edx
	movslq	%edx, %rdx
	call	__memcpy_chk@PLT
.L448:
	movq	824(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L498
	addq	$840, %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
	.p2align 4,,10
	.p2align 3
.L497:
	.cfi_restore_state
	movslq	asz(%rip), %rax
	leaq	ans(%rip), %rbx
	movdqa	try(%rip), %xmm0
	leaq	cmp(%rip), %rcx
	movl	$4, %edx
	movl	$6, %esi
	leaq	(%rax,%rax,4), %rdi
	movq	16+try(%rip), %rax
	salq	$4, %rdi
	addq	%rbx, %rdi
	movq	%rax, 16(%rdi)
	movaps	%xmm0, (%rdi)
	call	qsort@PLT
	movl	asz(%rip), %r13d
	testl	%r13d, %r13d
	je	.L499
	movslq	%r13d, %rax
	movslq	N(%rip), %r12
	leaq	(%rax,%rax,4), %rbp
	leal	-1(%r13), %eax
	leaq	(%rax,%rax,4), %r14
	salq	$4, %rbp
	leaq	80+ans(%rip), %rax
	salq	$2, %r12
	salq	$4, %r14
	addq	%rbx, %rbp
	addq	%rax, %r14
	.p2align 4,,10
	.p2align 3
.L452:
	movq	%r12, %rdx
	movq	%rbp, %rsi
	movq	%rbx, %rdi
	call	memcmp@PLT
	testl	%eax, %eax
	je	.L448
	addq	$80, %rbx
	cmpq	%r14, %rbx
	jne	.L452
	addl	$1, %r13d
.L453:
	movl	%r13d, asz(%rip)
	jmp	.L448
	.p2align 4,,10
	.p2align 3
.L460:
	movl	%eax, %ebx
	xorl	%r14d, %r14d
	jmp	.L454
.L499:
	movl	$1, %r13d
	jmp	.L453
.L498:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE66:
	.size	combi.constprop.4, .-combi.constprop.4
	.p2align 4
	.type	combi.constprop.3, @function
combi.constprop.3:
.LFB67:
	.cfi_startproc
	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	$840, %rsp
	.cfi_def_cfa_offset 896
	movq	%fs:40, %rax
	movq	%rax, 824(%rsp)
	xorl	%eax, %eax
	cmpl	$5, N(%rip)
	je	.L543
	movslq	max(%rip), %rax
	leaq	f(%rip), %rbp
	cmpb	$0, 0(%rbp,%rax)
	movq	%rax, %r12
	jne	.L512
	leal	-1(%rax), %eax
	leaq	1(%rbp), %rdx
	cltq
	.p2align 4,,10
	.p2align 3
.L507:
	movl	%eax, %ebx
	subq	$1, %rax
	cmpb	$0, (%rdx,%rax)
	je	.L507
	movl	%r12d, %r14d
	subl	%ebx, %r14d
.L506:
	addl	$1, %r12d
	movq	%rsp, %r13
	movl	$402, %ecx
	movq	%rbp, %rsi
	movslq	%r12d, %r12
	movq	%r13, %rdi
	leaq	416(%rsp), %r15
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
	movq	%r12, %rdx
	movl	$402, %ecx
	movq	%rbp, %rsi
	movq	%r15, %rdi
	call	__memcpy_chk@PLT
	movl	try(%rip), %edx
	subl	%r14d, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	416(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L510
	movl	4+try(%rip), %ecx
	subl	$1, %edx
	movb	%dl, 416(%rsp,%rax)
	subl	%r14d, %ecx
	movl	%ecx, %edx
	negl	%edx
	cmovs	%ecx, %edx
	movslq	%edx, %rdx
	movzbl	416(%rsp,%rdx), %ecx
	testb	%cl, %cl
	je	.L510
	movl	8+try(%rip), %esi
	subl	$1, %ecx
	movb	%cl, 416(%rsp,%rdx)
	subl	%r14d, %esi
	movl	%esi, %ecx
	negl	%ecx
	cmovs	%esi, %ecx
	movslq	%ecx, %rcx
	movzbl	416(%rsp,%rcx), %esi
	testb	%sil, %sil
	je	.L510
	movl	12+try(%rip), %edi
	subl	$1, %esi
	movb	%sil, 416(%rsp,%rcx)
	subl	%r14d, %edi
	movl	%edi, %esi
	negl	%esi
	cmovs	%edi, %esi
	movslq	%esi, %rsi
	movzbl	416(%rsp,%rsi), %edi
	testb	%dil, %dil
	je	.L510
	movl	16+try(%rip), %r8d
	subl	$1, %edi
	movb	%dil, 416(%rsp,%rsi)
	subl	%r14d, %r8d
	movl	%r8d, %edi
	negl	%edi
	cmovs	%r8d, %edi
	movslq	%edi, %rdi
	cmpb	$0, 416(%rsp,%rdi)
	je	.L510
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	subb	$1, 0(%rbp,%rcx)
	subb	$1, 0(%rbp,%rsi)
	subb	$1, 0(%rbp,%rdi)
	movl	%r14d, 20+try(%rip)
	call	combi.constprop.4
	movl	$402, %ecx
	movq	%r13, %rsi
	movq	%rbp, %rdi
	movl	max(%rip), %eax
	leal	1(%rax), %r12d
	movslq	%r12d, %r12
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
.L510:
	movq	%r12, %rdx
	movl	$402, %ecx
	movq	%rbp, %rsi
	movq	%r15, %rdi
	call	__memcpy_chk@PLT
	movl	try(%rip), %edx
	subl	%ebx, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	416(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L500
	movl	4+try(%rip), %ecx
	subl	$1, %edx
	movb	%dl, 416(%rsp,%rax)
	subl	%ebx, %ecx
	movl	%ecx, %edx
	negl	%edx
	cmovs	%ecx, %edx
	movslq	%edx, %rdx
	movzbl	416(%rsp,%rdx), %ecx
	testb	%cl, %cl
	je	.L500
	movl	8+try(%rip), %esi
	subl	$1, %ecx
	movb	%cl, 416(%rsp,%rdx)
	subl	%ebx, %esi
	movl	%esi, %ecx
	negl	%ecx
	cmovs	%esi, %ecx
	movslq	%ecx, %rcx
	movzbl	416(%rsp,%rcx), %esi
	testb	%sil, %sil
	je	.L500
	movl	12+try(%rip), %edi
	subl	$1, %esi
	movb	%sil, 416(%rsp,%rcx)
	subl	%ebx, %edi
	movl	%edi, %esi
	negl	%esi
	cmovs	%edi, %esi
	movslq	%esi, %rsi
	movzbl	416(%rsp,%rsi), %edi
	testb	%dil, %dil
	je	.L500
	movl	16+try(%rip), %r8d
	subl	$1, %edi
	movb	%dil, 416(%rsp,%rsi)
	subl	%ebx, %r8d
	movl	%r8d, %edi
	negl	%edi
	cmovs	%r8d, %edi
	movslq	%edi, %rdi
	cmpb	$0, 416(%rsp,%rdi)
	je	.L500
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	subb	$1, 0(%rbp,%rcx)
	subb	$1, 0(%rbp,%rsi)
	subb	$1, 0(%rbp,%rdi)
	movl	%ebx, 20+try(%rip)
	call	combi.constprop.4
	movl	$402, %ecx
	movq	%r13, %rsi
	movq	%rbp, %rdi
	movl	max(%rip), %eax
	leal	1(%rax), %edx
	movslq	%edx, %rdx
	call	__memcpy_chk@PLT
.L500:
	movq	824(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L544
	addq	$840, %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
	.p2align 4,,10
	.p2align 3
.L543:
	.cfi_restore_state
	movslq	asz(%rip), %rax
	leaq	ans(%rip), %rbx
	movdqa	try(%rip), %xmm0
	leaq	cmp(%rip), %rcx
	movl	$4, %edx
	movl	$5, %esi
	leaq	(%rax,%rax,4), %rdi
	movl	16+try(%rip), %eax
	salq	$4, %rdi
	addq	%rbx, %rdi
	movl	%eax, 16(%rdi)
	movaps	%xmm0, (%rdi)
	call	qsort@PLT
	movl	asz(%rip), %r13d
	testl	%r13d, %r13d
	je	.L545
	movslq	%r13d, %rax
	movslq	N(%rip), %r12
	leaq	(%rax,%rax,4), %rbp
	leal	-1(%r13), %eax
	leaq	(%rax,%rax,4), %r14
	salq	$4, %rbp
	leaq	80+ans(%rip), %rax
	salq	$2, %r12
	salq	$4, %r14
	addq	%rbx, %rbp
	addq	%rax, %r14
	.p2align 4,,10
	.p2align 3
.L504:
	movq	%r12, %rdx
	movq	%rbp, %rsi
	movq	%rbx, %rdi
	call	memcmp@PLT
	testl	%eax, %eax
	je	.L500
	addq	$80, %rbx
	cmpq	%r14, %rbx
	jne	.L504
	addl	$1, %r13d
.L505:
	movl	%r13d, asz(%rip)
	jmp	.L500
	.p2align 4,,10
	.p2align 3
.L512:
	movl	%eax, %ebx
	xorl	%r14d, %r14d
	jmp	.L506
.L545:
	movl	$1, %r13d
	jmp	.L505
.L544:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE67:
	.size	combi.constprop.3, .-combi.constprop.3
	.p2align 4
	.type	combi.constprop.2, @function
combi.constprop.2:
.LFB68:
	.cfi_startproc
	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	$840, %rsp
	.cfi_def_cfa_offset 896
	movq	%fs:40, %rax
	movq	%rax, 824(%rsp)
	xorl	%eax, %eax
	cmpl	$4, N(%rip)
	je	.L583
	movslq	max(%rip), %rax
	leaq	f(%rip), %rbp
	cmpb	$0, 0(%rbp,%rax)
	movq	%rax, %r12
	jne	.L558
	leal	-1(%rax), %eax
	leaq	1(%rbp), %rdx
	cltq
	.p2align 4,,10
	.p2align 3
.L553:
	movl	%eax, %ebx
	subq	$1, %rax
	cmpb	$0, (%rdx,%rax)
	je	.L553
	movl	%r12d, %r14d
	subl	%ebx, %r14d
.L552:
	addl	$1, %r12d
	movq	%rsp, %r13
	movl	$402, %ecx
	movq	%rbp, %rsi
	movslq	%r12d, %r12
	movq	%r13, %rdi
	leaq	416(%rsp), %r15
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
	movq	%r12, %rdx
	movl	$402, %ecx
	movq	%rbp, %rsi
	movq	%r15, %rdi
	call	__memcpy_chk@PLT
	movl	try(%rip), %edx
	subl	%r14d, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	416(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L556
	movl	4+try(%rip), %ecx
	subl	$1, %edx
	movb	%dl, 416(%rsp,%rax)
	subl	%r14d, %ecx
	movl	%ecx, %edx
	negl	%edx
	cmovs	%ecx, %edx
	movslq	%edx, %rdx
	movzbl	416(%rsp,%rdx), %ecx
	testb	%cl, %cl
	je	.L556
	movl	8+try(%rip), %esi
	subl	$1, %ecx
	movb	%cl, 416(%rsp,%rdx)
	subl	%r14d, %esi
	movl	%esi, %ecx
	negl	%ecx
	cmovs	%esi, %ecx
	movslq	%ecx, %rcx
	movzbl	416(%rsp,%rcx), %esi
	testb	%sil, %sil
	je	.L556
	movl	12+try(%rip), %edi
	subl	$1, %esi
	movb	%sil, 416(%rsp,%rcx)
	subl	%r14d, %edi
	movl	%edi, %esi
	negl	%esi
	cmovs	%edi, %esi
	movslq	%esi, %rsi
	cmpb	$0, 416(%rsp,%rsi)
	je	.L556
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	subb	$1, 0(%rbp,%rcx)
	subb	$1, 0(%rbp,%rsi)
	movl	%r14d, 16+try(%rip)
	call	combi.constprop.3
	movl	$402, %ecx
	movq	%r13, %rsi
	movq	%rbp, %rdi
	movl	max(%rip), %eax
	leal	1(%rax), %r12d
	movslq	%r12d, %r12
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
.L556:
	movq	%r12, %rdx
	movl	$402, %ecx
	movq	%rbp, %rsi
	movq	%r15, %rdi
	call	__memcpy_chk@PLT
	movl	try(%rip), %edx
	subl	%ebx, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	416(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L546
	movl	4+try(%rip), %ecx
	subl	$1, %edx
	movb	%dl, 416(%rsp,%rax)
	subl	%ebx, %ecx
	movl	%ecx, %edx
	negl	%edx
	cmovs	%ecx, %edx
	movslq	%edx, %rdx
	movzbl	416(%rsp,%rdx), %ecx
	testb	%cl, %cl
	je	.L546
	movl	8+try(%rip), %esi
	subl	$1, %ecx
	movb	%cl, 416(%rsp,%rdx)
	subl	%ebx, %esi
	movl	%esi, %ecx
	negl	%ecx
	cmovs	%esi, %ecx
	movslq	%ecx, %rcx
	movzbl	416(%rsp,%rcx), %esi
	testb	%sil, %sil
	je	.L546
	movl	12+try(%rip), %edi
	subl	$1, %esi
	movb	%sil, 416(%rsp,%rcx)
	subl	%ebx, %edi
	movl	%edi, %esi
	negl	%esi
	cmovs	%edi, %esi
	movslq	%esi, %rsi
	cmpb	$0, 416(%rsp,%rsi)
	je	.L546
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	subb	$1, 0(%rbp,%rcx)
	subb	$1, 0(%rbp,%rsi)
	movl	%ebx, 16+try(%rip)
	call	combi.constprop.3
	movl	$402, %ecx
	movq	%r13, %rsi
	movq	%rbp, %rdi
	movl	max(%rip), %eax
	leal	1(%rax), %edx
	movslq	%edx, %rdx
	call	__memcpy_chk@PLT
.L546:
	movq	824(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L584
	addq	$840, %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
	.p2align 4,,10
	.p2align 3
.L583:
	.cfi_restore_state
	movslq	asz(%rip), %rax
	movdqa	try(%rip), %xmm0
	leaq	ans(%rip), %rbx
	leaq	cmp(%rip), %rcx
	movl	$4, %edx
	movl	$4, %esi
	leaq	(%rax,%rax,4), %rdi
	salq	$4, %rdi
	addq	%rbx, %rdi
	movaps	%xmm0, (%rdi)
	call	qsort@PLT
	movl	asz(%rip), %r13d
	testl	%r13d, %r13d
	je	.L585
	movslq	%r13d, %rax
	movslq	N(%rip), %r12
	leaq	(%rax,%rax,4), %rbp
	leal	-1(%r13), %eax
	leaq	(%rax,%rax,4), %r14
	salq	$4, %rbp
	leaq	80+ans(%rip), %rax
	salq	$2, %r12
	salq	$4, %r14
	addq	%rbx, %rbp
	addq	%rax, %r14
	.p2align 4,,10
	.p2align 3
.L550:
	movq	%r12, %rdx
	movq	%rbp, %rsi
	movq	%rbx, %rdi
	call	memcmp@PLT
	testl	%eax, %eax
	je	.L546
	addq	$80, %rbx
	cmpq	%r14, %rbx
	jne	.L550
	addl	$1, %r13d
.L551:
	movl	%r13d, asz(%rip)
	jmp	.L546
	.p2align 4,,10
	.p2align 3
.L558:
	movl	%eax, %ebx
	xorl	%r14d, %r14d
	jmp	.L552
.L585:
	movl	$1, %r13d
	jmp	.L551
.L584:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE68:
	.size	combi.constprop.2, .-combi.constprop.2
	.p2align 4
	.type	combi.constprop.1, @function
combi.constprop.1:
.LFB69:
	.cfi_startproc
	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	$840, %rsp
	.cfi_def_cfa_offset 896
	movq	%fs:40, %rax
	movq	%rax, 824(%rsp)
	xorl	%eax, %eax
	cmpl	$3, N(%rip)
	je	.L617
	movslq	max(%rip), %rax
	leaq	f(%rip), %rbp
	cmpb	$0, 0(%rbp,%rax)
	movq	%rax, %r12
	jne	.L598
	leal	-1(%rax), %eax
	leaq	1(%rbp), %rdx
	cltq
	.p2align 4,,10
	.p2align 3
.L593:
	movl	%eax, %ebx
	subq	$1, %rax
	cmpb	$0, (%rdx,%rax)
	je	.L593
	movl	%r12d, %r14d
	subl	%ebx, %r14d
.L592:
	addl	$1, %r12d
	movq	%rsp, %r13
	movl	$402, %ecx
	movq	%rbp, %rsi
	movslq	%r12d, %r12
	movq	%r13, %rdi
	leaq	416(%rsp), %r15
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
	movq	%r12, %rdx
	movl	$402, %ecx
	movq	%rbp, %rsi
	movq	%r15, %rdi
	call	__memcpy_chk@PLT
	movl	try(%rip), %edx
	subl	%r14d, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	416(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L596
	movl	4+try(%rip), %ecx
	subl	$1, %edx
	movb	%dl, 416(%rsp,%rax)
	subl	%r14d, %ecx
	movl	%ecx, %edx
	negl	%edx
	cmovs	%ecx, %edx
	movslq	%edx, %rdx
	movzbl	416(%rsp,%rdx), %ecx
	testb	%cl, %cl
	je	.L596
	movl	8+try(%rip), %esi
	subl	$1, %ecx
	movb	%cl, 416(%rsp,%rdx)
	subl	%r14d, %esi
	movl	%esi, %ecx
	negl	%ecx
	cmovs	%esi, %ecx
	movslq	%ecx, %rcx
	cmpb	$0, 416(%rsp,%rcx)
	je	.L596
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	subb	$1, 0(%rbp,%rcx)
	movl	%r14d, 12+try(%rip)
	call	combi.constprop.2
	movl	$402, %ecx
	movq	%r13, %rsi
	movq	%rbp, %rdi
	movl	max(%rip), %eax
	leal	1(%rax), %r12d
	movslq	%r12d, %r12
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
.L596:
	movq	%r12, %rdx
	movl	$402, %ecx
	movq	%rbp, %rsi
	movq	%r15, %rdi
	call	__memcpy_chk@PLT
	movl	try(%rip), %edx
	subl	%ebx, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	416(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L586
	movl	4+try(%rip), %ecx
	subl	$1, %edx
	movb	%dl, 416(%rsp,%rax)
	subl	%ebx, %ecx
	movl	%ecx, %edx
	negl	%edx
	cmovs	%ecx, %edx
	movslq	%edx, %rdx
	movzbl	416(%rsp,%rdx), %ecx
	testb	%cl, %cl
	je	.L586
	movl	8+try(%rip), %esi
	subl	$1, %ecx
	movb	%cl, 416(%rsp,%rdx)
	subl	%ebx, %esi
	movl	%esi, %ecx
	negl	%ecx
	cmovs	%esi, %ecx
	movslq	%ecx, %rcx
	cmpb	$0, 416(%rsp,%rcx)
	je	.L586
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	subb	$1, 0(%rbp,%rcx)
	movl	%ebx, 12+try(%rip)
	call	combi.constprop.2
	movl	$402, %ecx
	movq	%r13, %rsi
	movq	%rbp, %rdi
	movl	max(%rip), %eax
	leal	1(%rax), %edx
	movslq	%edx, %rdx
	call	__memcpy_chk@PLT
.L586:
	movq	824(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L618
	addq	$840, %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
	.p2align 4,,10
	.p2align 3
.L617:
	.cfi_restore_state
	movslq	asz(%rip), %rax
	movl	$4, %edx
	movl	$3, %esi
	leaq	ans(%rip), %rbx
	leaq	cmp(%rip), %rcx
	leaq	(%rax,%rax,4), %rdi
	movq	try(%rip), %rax
	salq	$4, %rdi
	addq	%rbx, %rdi
	movq	%rax, (%rdi)
	movl	8+try(%rip), %eax
	movl	%eax, 8(%rdi)
	call	qsort@PLT
	movl	asz(%rip), %r13d
	testl	%r13d, %r13d
	je	.L619
	movslq	%r13d, %rax
	movslq	N(%rip), %r12
	leaq	(%rax,%rax,4), %rbp
	leal	-1(%r13), %eax
	leaq	(%rax,%rax,4), %r14
	salq	$4, %rbp
	leaq	80+ans(%rip), %rax
	salq	$2, %r12
	salq	$4, %r14
	addq	%rbx, %rbp
	addq	%rax, %r14
	.p2align 4,,10
	.p2align 3
.L590:
	movq	%r12, %rdx
	movq	%rbp, %rsi
	movq	%rbx, %rdi
	call	memcmp@PLT
	testl	%eax, %eax
	je	.L586
	addq	$80, %rbx
	cmpq	%rbx, %r14
	jne	.L590
	addl	$1, %r13d
.L591:
	movl	%r13d, asz(%rip)
	jmp	.L586
	.p2align 4,,10
	.p2align 3
.L598:
	movl	%eax, %ebx
	xorl	%r14d, %r14d
	jmp	.L592
.L619:
	movl	$1, %r13d
	jmp	.L591
.L618:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE69:
	.size	combi.constprop.1, .-combi.constprop.1
	.p2align 4
	.type	combi.constprop.0, @function
combi.constprop.0:
.LFB70:
	.cfi_startproc
	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	$856, %rsp
	.cfi_def_cfa_offset 912
	movq	%fs:40, %rax
	movq	%rax, 840(%rsp)
	xorl	%eax, %eax
	cmpl	$2, N(%rip)
	je	.L644
	movslq	max(%rip), %rax
	leaq	f(%rip), %rbp
	cmpb	$0, 0(%rbp,%rax)
	movq	%rax, %r12
	jne	.L634
	leal	-1(%rax), %eax
	leaq	1(%rbp), %rdx
	cltq
	.p2align 4,,10
	.p2align 3
.L627:
	movl	%eax, %ebx
	subq	$1, %rax
	cmpb	$0, (%rdx,%rax)
	je	.L627
	movl	%r12d, %r15d
	subl	%ebx, %r15d
.L626:
	addl	$1, %r12d
	leaq	16(%rsp), %r13
	movl	$402, %ecx
	movq	%rbp, %rsi
	movslq	%r12d, %r12
	movq	%r13, %rdi
	leaq	432(%rsp), %r14
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
	movq	%r12, %rdx
	movl	$402, %ecx
	movq	%rbp, %rsi
	movq	%r14, %rdi
	call	__memcpy_chk@PLT
	movl	try(%rip), %r8d
	movl	%r8d, %edx
	subl	%r15d, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	432(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L629
	movl	4+try(%rip), %ecx
	subl	$1, %edx
	movb	%dl, 432(%rsp,%rax)
	subl	%r15d, %ecx
	movl	%ecx, %edx
	negl	%edx
	cmovs	%ecx, %edx
	movslq	%edx, %rdx
	cmpb	$0, 432(%rsp,%rdx)
	je	.L629
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	movl	%r15d, 8+try(%rip)
	call	combi.constprop.1
	movl	$402, %ecx
	movq	%r13, %rsi
	movq	%rbp, %rdi
	movl	max(%rip), %eax
	leal	1(%rax), %r12d
	movslq	%r12d, %r12
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
	movl	try(%rip), %r8d
.L629:
	movq	%r12, %rdx
	movl	$402, %ecx
	movq	%rbp, %rsi
	movq	%r14, %rdi
	movl	%r8d, 12(%rsp)
	call	__memcpy_chk@PLT
	movl	12(%rsp), %edx
	subl	%ebx, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	432(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L620
	movl	4+try(%rip), %ecx
	subl	$1, %edx
	movb	%dl, 432(%rsp,%rax)
	subl	%ebx, %ecx
	movl	%ecx, %edx
	negl	%edx
	cmovs	%ecx, %edx
	movslq	%edx, %rdx
	cmpb	$0, 432(%rsp,%rdx)
	je	.L620
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	movl	%ebx, 8+try(%rip)
	call	combi.constprop.1
	movl	$402, %ecx
	movq	%r13, %rsi
	movq	%rbp, %rdi
	movl	max(%rip), %eax
	leal	1(%rax), %edx
	movslq	%edx, %rdx
	call	__memcpy_chk@PLT
.L620:
	movq	840(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L645
	addq	$856, %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
	.p2align 4,,10
	.p2align 3
.L644:
	.cfi_restore_state
	movslq	asz(%rip), %rax
	movl	$4, %edx
	movl	$2, %esi
	leaq	ans(%rip), %rbx
	leaq	cmp(%rip), %rcx
	leaq	(%rax,%rax,4), %rdi
	movq	try(%rip), %rax
	salq	$4, %rdi
	addq	%rbx, %rdi
	movq	%rax, (%rdi)
	call	qsort@PLT
	movl	asz(%rip), %r13d
	testl	%r13d, %r13d
	je	.L646
	movslq	%r13d, %rax
	movslq	N(%rip), %r12
	leaq	(%rax,%rax,4), %rbp
	leal	-1(%r13), %eax
	leaq	(%rax,%rax,4), %r14
	salq	$4, %rbp
	leaq	80+ans(%rip), %rax
	salq	$2, %r12
	salq	$4, %r14
	addq	%rbx, %rbp
	addq	%rax, %r14
	.p2align 4,,10
	.p2align 3
.L624:
	movq	%r12, %rdx
	movq	%rbp, %rsi
	movq	%rbx, %rdi
	call	memcmp@PLT
	testl	%eax, %eax
	je	.L620
	addq	$80, %rbx
	cmpq	%rbx, %r14
	jne	.L624
	addl	$1, %r13d
.L625:
	movl	%r13d, asz(%rip)
	jmp	.L620
	.p2align 4,,10
	.p2align 3
.L634:
	movl	%eax, %ebx
	xorl	%r15d, %r15d
	jmp	.L626
.L646:
	movl	$1, %r13d
	jmp	.L625
.L645:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE70:
	.size	combi.constprop.0, .-combi.constprop.0
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"-----\n"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB57:
	.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
	leaq	f(%rip), %rbx
	subq	$56, %rsp
	.cfi_def_cfa_offset 112
	movq	%fs:40, %rax
	movq	%rax, 40(%rsp)
	xorl	%eax, %eax
	leaq	16(%rsp), %r14
.L648:
	movq	stdin(%rip), %rdi
	movq	8(%rdi), %rax
	movq	16(%rdi), %rcx
	cmpq	%rcx, %rax
	jnb	.L721
	leaq	1(%rax), %rdx
	movq	%rdx, 8(%rdi)
	movzbl	(%rax), %eax
.L691:
	xorl	%ebp, %ebp
	jmp	.L695
	.p2align 4,,10
	.p2align 3
.L692:
	leaq	1(%rdx), %rax
	movq	%rax, 8(%rdi)
	movzbl	(%rdx), %eax
	cmpl	$47, %eax
	jle	.L694
.L693:
	movq	8(%rdi), %rdx
	movq	16(%rdi), %rcx
.L695:
	leal	0(%rbp,%rbp,4), %esi
	andl	$15, %eax
	leal	(%rax,%rsi,2), %ebp
	cmpq	%rcx, %rdx
	jb	.L692
	call	__uflow@PLT
	cmpl	$47, %eax
	jle	.L694
	movq	stdin(%rip), %rdi
	jmp	.L693
.L694:
	movl	%ebp, N(%rip)
	testl	%ebp, %ebp
	je	.L722
	movl	$50, %ecx
	movl	$0, %eax
	leal	-1(%rbp), %edx
	movq	%rbx, %rdi
	rep stosq
	imull	%ebp, %edx
	sarl	%edx
	movl	%edx, dsz(%rip)
	movl	$0, %edx
	movw	%dx, (%rdi)
	je	.L649
	xorl	%r15d, %r15d
	leaq	d(%rip), %rbp
	.p2align 4,,10
	.p2align 3
.L656:
	movq	stdin(%rip), %rdi
	movq	8(%rdi), %rax
	movq	16(%rdi), %rcx
	cmpq	%rcx, %rax
	jnb	.L723
	leaq	1(%rax), %rdx
	movq	%rdx, 8(%rdi)
	movzbl	(%rax), %eax
.L651:
	xorl	%r12d, %r12d
	jmp	.L655
	.p2align 4,,10
	.p2align 3
.L652:
	leaq	1(%rdx), %rax
	movq	%rax, 8(%rdi)
	movzbl	(%rdx), %eax
	cmpl	$47, %eax
	jle	.L654
.L653:
	movq	8(%rdi), %rdx
	movq	16(%rdi), %rcx
.L655:
	leal	(%r12,%r12,4), %esi
	andl	$15, %eax
	leal	(%rax,%rsi,2), %r12d
	cmpq	%rcx, %rdx
	jb	.L652
	call	__uflow@PLT
	cmpl	$47, %eax
	jle	.L654
	movq	stdin(%rip), %rdi
	jmp	.L653
	.p2align 4,,10
	.p2align 3
.L654:
	movl	dsz(%rip), %eax
	movl	%r12d, 0(%rbp,%r15,4)
	movslq	%r12d, %r12
	addq	$1, %r15
	addb	$1, (%rbx,%r12)
	cmpl	%r15d, %eax
	jg	.L656
	movslq	d(%rip), %rdx
	cmpl	$1, %eax
	jne	.L657
	xorl	%ecx, %ecx
	testl	%edx, %edx
	je	.L664
	.p2align 4,,10
	.p2align 3
.L658:
	movslq	%edx, %rax
	movl	%edx, %esi
	movslq	%ecx, %rdi
	imulq	$1717986919, %rax, %rax
	sarl	$31, %esi
	sarq	$34, %rax
	subl	%esi, %eax
	leal	(%rax,%rax,4), %esi
	addl	%esi, %esi
	subl	%esi, %edx
	addl	$48, %edx
	movb	%dl, (%r14,%rcx)
	movl	%eax, %edx
	movq	%rcx, %rax
	addq	$1, %rcx
	testl	%edx, %edx
	jne	.L658
	leaq	15(%rsp,%rdi), %r12
	leaq	(%r14,%rdi), %rbp
	subq	%rax, %r12
	.p2align 4,,10
	.p2align 3
.L663:
	movq	stdout(%rip), %rdi
	movzbl	0(%rbp), %edx
	movq	40(%rdi), %rax
	cmpq	48(%rdi), %rax
	jnb	.L724
	leaq	1(%rax), %rcx
	movq	%rcx, 40(%rdi)
	movb	%dl, (%rax)
.L662:
	subq	$1, %rbp
	cmpq	%r12, %rbp
	jne	.L663
.L664:
	movq	stdout(%rip), %rdi
	movq	40(%rdi), %rax
	cmpq	48(%rdi), %rax
	jnb	.L725
	leaq	1(%rax), %rdx
	movq	%rdx, 40(%rdi)
	movb	$10, (%rax)
.L665:
	movl	$45, %edx
	leaq	.LC0(%rip), %rbp
	jmp	.L666
	.p2align 4,,10
	.p2align 3
.L687:
	leaq	1(%rax), %rcx
	movq	%rcx, 40(%rdi)
	movb	%dl, (%rax)
	movzbl	0(%rbp), %edx
	testb	%dl, %dl
	je	.L648
.L666:
	movq	stdout(%rip), %rdi
	addq	$1, %rbp
	movq	40(%rdi), %rax
	cmpq	48(%rdi), %rax
	jb	.L687
	movzbl	%dl, %esi
	call	__overflow@PLT
	movzbl	0(%rbp), %edx
	testb	%dl, %dl
	jne	.L666
	jmp	.L648
.L723:
	call	__uflow@PLT
	movq	stdin(%rip), %rdi
	movq	8(%rdi), %rdx
	movq	16(%rdi), %rcx
	jmp	.L651
.L724:
	movzbl	%dl, %esi
	call	__overflow@PLT
	jmp	.L662
.L649:
	movslq	d(%rip), %rdx
.L657:
	subb	$1, (%rbx,%rdx)
	movl	%edx, max(%rip)
	movl	$0, try(%rip)
	movl	%edx, 4+try(%rip)
	movl	$0, asz(%rip)
	call	combi.constprop.0
	leaq	ans(%rip), %rax
	movl	$0, 4(%rsp)
	movq	%rax, 8(%rsp)
	movl	asz(%rip), %eax
	testl	%eax, %eax
	jle	.L665
	.p2align 4,,10
	.p2align 3
.L686:
	movq	8(%rsp), %rax
	xorl	%ecx, %ecx
	movl	4(%rax), %edx
	testl	%edx, %edx
	je	.L674
	.p2align 4,,10
	.p2align 3
.L668:
	movslq	%edx, %rax
	movl	%edx, %esi
	movslq	%ecx, %rdi
	imulq	$1717986919, %rax, %rax
	sarl	$31, %esi
	sarq	$34, %rax
	subl	%esi, %eax
	leal	(%rax,%rax,4), %esi
	addl	%esi, %esi
	subl	%esi, %edx
	addl	$48, %edx
	movb	%dl, (%r14,%rcx)
	movl	%eax, %edx
	movq	%rcx, %rax
	addq	$1, %rcx
	testl	%edx, %edx
	jne	.L668
	leaq	15(%rsp,%rdi), %r8
	leaq	(%r14,%rdi), %r15
	subq	%rax, %r8
	movq	%r8, %r13
	.p2align 4,,10
	.p2align 3
.L673:
	movq	stdout(%rip), %rdi
	movzbl	(%r15), %edx
	movq	40(%rdi), %rax
	cmpq	48(%rdi), %rax
	jnb	.L726
	leaq	1(%rax), %rcx
	movq	%rcx, 40(%rdi)
	movb	%dl, (%rax)
.L672:
	subq	$1, %r15
	cmpq	%r15, %r13
	jne	.L673
.L674:
	cmpl	$2, N(%rip)
	movq	8(%rsp), %r15
	movl	$2, %r13d
	jle	.L670
	.p2align 4,,10
	.p2align 3
.L669:
	movq	stdout(%rip), %rdi
	movq	40(%rdi), %rax
	cmpq	48(%rdi), %rax
	jnb	.L727
	leaq	1(%rax), %rdx
	movq	%rdx, 40(%rdi)
	movb	$32, (%rax)
.L678:
	movl	8(%r15), %edx
	xorl	%esi, %esi
	subl	4(%r15), %edx
	je	.L683
	.p2align 4,,10
	.p2align 3
.L679:
	movslq	%edx, %rax
	movl	%edx, %r8d
	movslq	%esi, %rdi
	imulq	$1717986919, %rax, %rax
	sarl	$31, %r8d
	sarq	$34, %rax
	subl	%r8d, %eax
	leal	(%rax,%rax,4), %r8d
	addl	%r8d, %r8d
	subl	%r8d, %edx
	addl	$48, %edx
	movb	%dl, (%r14,%rsi)
	movl	%eax, %edx
	movq	%rsi, %rax
	addq	$1, %rsi
	testl	%edx, %edx
	jne	.L679
	leaq	15(%rsp,%rdi), %r8
	leaq	(%r14,%rdi), %rbp
	subq	%rax, %r8
	movq	%r8, %r12
	.p2align 4,,10
	.p2align 3
.L682:
	movq	stdout(%rip), %rdi
	movzbl	0(%rbp), %esi
	movq	40(%rdi), %rax
	cmpq	48(%rdi), %rax
	jnb	.L728
	leaq	1(%rax), %r9
	movq	%r9, 40(%rdi)
	movb	%sil, (%rax)
.L681:
	subq	$1, %rbp
	cmpq	%r12, %rbp
	jne	.L682
.L683:
	addl	$1, %r13d
	addq	$4, %r15
	cmpl	%r13d, N(%rip)
	jg	.L669
.L670:
	movq	stdout(%rip), %rdi
	movq	40(%rdi), %rax
	cmpq	48(%rdi), %rax
	jnb	.L729
	leaq	1(%rax), %rdx
	addl	$1, 4(%rsp)
	addq	$80, 8(%rsp)
	movq	%rdx, 40(%rdi)
	movb	$10, (%rax)
	movl	4(%rsp), %eax
	cmpl	%eax, asz(%rip)
	jg	.L686
	jmp	.L665
	.p2align 4,,10
	.p2align 3
.L728:
	call	__overflow@PLT
	jmp	.L681
	.p2align 4,,10
	.p2align 3
.L727:
	movl	$32, %esi
	call	__overflow@PLT
	jmp	.L678
	.p2align 4,,10
	.p2align 3
.L726:
	movzbl	%dl, %esi
	call	__overflow@PLT
	jmp	.L672
.L729:
	movl	$10, %esi
	call	__overflow@PLT
	addl	$1, 4(%rsp)
	movl	4(%rsp), %eax
	addq	$80, 8(%rsp)
	cmpl	asz(%rip), %eax
	jl	.L686
	jmp	.L665
.L721:
	call	__uflow@PLT
	movq	stdin(%rip), %rdi
	movq	8(%rdi), %rdx
	movq	16(%rdi), %rcx
	jmp	.L691
.L722:
	movq	40(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L730
	addq	$56, %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
.L725:
	.cfi_restore_state
	movl	$10, %esi
	call	__overflow@PLT
	jmp	.L665
.L730:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE57:
	.size	main, .-main
	.globl	try
	.bss
	.align 32
	.type	try, @object
	.size	try, 80
try:
	.zero	80
	.globl	asz
	.align 4
	.type	asz, @object
	.size	asz, 4
asz:
	.zero	4
	.globl	ans
	.align 32
	.type	ans, @object
	.size	ans, 1600
ans:
	.zero	1600
	.globl	f
	.align 32
	.type	f, @object
	.size	f, 402
f:
	.zero	402
	.globl	max
	.align 4
	.type	max, @object
	.size	max, 4
max:
	.zero	4
	.globl	dsz
	.align 4
	.type	dsz, @object
	.size	dsz, 4
dsz:
	.zero	4
	.globl	d
	.align 32
	.type	d, @object
	.size	d, 800
d:
	.zero	800
	.globl	N
	.align 4
	.type	N, @object
	.size	N, 4
N:
	.zero	4
	.ident	"GCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	1f - 0f
	.long	4f - 1f
	.long	5
0:
	.string	"GNU"
1:
	.align 8
	.long	0xc0000002
	.long	3f - 2f
2:
	.long	0x3
3:
	.align 8
4:

rule
	.file	"temp.c"
	.text
	.p2align 4
	.globl	cmp
	.type	cmp, @function
cmp:
.LFB55:
	.cfi_startproc
	endbr64
	movl	(%rdi), %eax
	subl	(%rsi), %eax
	ret
	.cfi_endproc
.LFE55:
	.size	cmp, .-cmp
	.p2align 4
	.globl	in
	.type	in, @function
in:
.LFB51:
	.cfi_startproc
	endbr64
	movq	stdin(%rip), %rdi
	pushq	%r12
	.cfi_def_cfa_offset 16
	.cfi_offset 12, -16
	movq	8(%rdi), %rax
	movq	16(%rdi), %rcx
	cmpq	%rcx, %rax
	jnb	.L12
	leaq	1(%rax), %rdx
	movq	%rdx, 8(%rdi)
	movzbl	(%rax), %eax
.L5:
	xorl	%r12d, %r12d
	jmp	.L9
	.p2align 4,,10
	.p2align 3
.L6:
	leaq	1(%rdx), %rax
	movq	%rax, 8(%rdi)
	movzbl	(%rdx), %eax
	cmpl	$47, %eax
	jle	.L3
.L7:
	movq	8(%rdi), %rdx
	movq	16(%rdi), %rcx
.L9:
	leal	(%r12,%r12,4), %esi
	andl	$15, %eax
	leal	(%rax,%rsi,2), %r12d
	cmpq	%rcx, %rdx
	jb	.L6
	call	__uflow@PLT
	cmpl	$47, %eax
	jle	.L3
	movq	stdin(%rip), %rdi
	jmp	.L7
	.p2align 4,,10
	.p2align 3
.L3:
	movl	%r12d, %eax
	popq	%r12
	.cfi_remember_state
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L12:
	.cfi_restore_state
	call	__uflow@PLT
	movq	stdin(%rip), %rdi
	movq	8(%rdi), %rdx
	movq	16(%rdi), %rcx
	jmp	.L5
	.cfi_endproc
.LFE51:
	.size	in, .-in
	.p2align 4
	.globl	out
	.type	out, @function
out:
.LFB52:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	pushq	%rbx
	.cfi_def_cfa_offset 24
	.cfi_offset 3, -24
	subq	$40, %rsp
	.cfi_def_cfa_offset 64
	movq	%fs:40, %rax
	movq	%rax, 24(%rsp)
	xorl	%eax, %eax
	testl	%edi, %edi
	je	.L13
	xorl	%edx, %edx
	movq	%rsp, %rbx
	.p2align 4,,10
	.p2align 3
.L15:
	movslq	%edi, %rax
	movl	%edi, %ecx
	movslq	%edx, %rsi
	imulq	$1717986919, %rax, %rax
	sarl	$31, %ecx
	sarq	$34, %rax
	subl	%ecx, %eax
	leal	(%rax,%rax,4), %ecx
	addl	%ecx, %ecx
	subl	%ecx, %edi
	addl	$48, %edi
	movb	%dil, (%rbx,%rdx)
	movl	%eax, %edi
	movq	%rdx, %rax
	addq	$1, %rdx
	testl	%edi, %edi
	jne	.L15
	leaq	-1(%rsp,%rsi), %rbp
	addq	%rsi, %rbx
	subq	%rax, %rbp
	.p2align 4,,10
	.p2align 3
.L19:
	movq	stdout(%rip), %rdi
	movzbl	(%rbx), %esi
	movq	40(%rdi), %rax
	cmpq	48(%rdi), %rax
	jnb	.L27
	leaq	1(%rax), %rdx
	movq	%rdx, 40(%rdi)
	movb	%sil, (%rax)
.L18:
	subq	$1, %rbx
	cmpq	%rbx, %rbp
	jne	.L19
.L13:
	movq	24(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L28
	addq	$40, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 24
	popq	%rbx
	.cfi_def_cfa_offset 16
	popq	%rbp
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L27:
	.cfi_restore_state
	call	__overflow@PLT
	jmp	.L18
.L28:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE52:
	.size	out, .-out
	.p2align 4
	.globl	outs
	.type	outs, @function
outs:
.LFB53:
	.cfi_startproc
	endbr64
	pushq	%rbx
	.cfi_def_cfa_offset 16
	.cfi_offset 3, -16
	movzbl	(%rdi), %esi
	movq	%rdi, %rbx
	testb	%sil, %sil
	jne	.L33
	jmp	.L29
	.p2align 4,,10
	.p2align 3
.L31:
	leaq	1(%rax), %rdx
	movq	%rdx, 40(%rdi)
	movb	%sil, (%rax)
	movzbl	(%rbx), %esi
	testb	%sil, %sil
	je	.L29
.L33:
	movq	stdout(%rip), %rdi
	addq	$1, %rbx
	movq	40(%rdi), %rax
	cmpq	48(%rdi), %rax
	jb	.L31
	call	__overflow@PLT
	movzbl	(%rbx), %esi
	testb	%sil, %sil
	jne	.L33
.L29:
	popq	%rbx
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE53:
	.size	outs, .-outs
	.p2align 4
	.globl	check
	.type	check, @function
check:
.LFB54:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movl	$402, %ecx
	movl	%edi, %ebp
	pushq	%rbx
	.cfi_def_cfa_offset 24
	.cfi_offset 3, -24
	movl	%esi, %ebx
	leaq	f(%rip), %rsi
	subq	$424, %rsp
	.cfi_def_cfa_offset 448
	movq	%fs:40, %rax
	movq	%rax, 408(%rsp)
	movl	max(%rip), %eax
	movq	%rsp, %rdi
	leal	1(%rax), %edx
	movslq	%edx, %rdx
	call	__memcpy_chk@PLT
	testl	%ebp, %ebp
	jle	.L42
	leaq	try(%rip), %rcx
	leal	-1(%rbp), %edx
	leaq	4(%rcx), %rax
	leaq	(%rax,%rdx,4), %rsi
	jmp	.L44
	.p2align 4,,10
	.p2align 3
.L49:
	subl	$1, %edx
	addq	$4, %rcx
	movb	%dl, (%rsp,%rax)
	cmpq	%rsi, %rcx
	je	.L42
.L44:
	movl	(%rcx), %edx
	subl	%ebx, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	(%rsp,%rax), %edx
	testb	%dl, %dl
	jne	.L49
	xorl	%eax, %eax
	jmp	.L41
	.p2align 4,,10
	.p2align 3
.L42:
	movl	$1, %eax
.L41:
	movq	408(%rsp), %rdx
	subq	%fs:40, %rdx
	jne	.L50
	addq	$424, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 24
	popq	%rbx
	.cfi_def_cfa_offset 16
	popq	%rbp
	.cfi_def_cfa_offset 8
	ret
.L50:
	.cfi_restore_state
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE54:
	.size	check, .-check
	.p2align 4
	.globl	combi
	.type	combi, @function
combi:
.LFB56:
	.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
	movslq	%edi, %r12
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	subq	$856, %rsp
	.cfi_def_cfa_offset 912
	movq	%fs:40, %rax
	movq	%rax, 840(%rsp)
	xorl	%eax, %eax
	cmpl	%r12d, N(%rip)
	je	.L89
	movslq	max(%rip), %rax
	leaq	f(%rip), %r13
	cmpb	$0, 0(%r13,%rax)
	movq	%rax, %rdx
	jne	.L72
	leal	-1(%rax), %eax
	leaq	1(%r13), %rcx
	cltq
	.p2align 4,,10
	.p2align 3
.L58:
	movl	%eax, %ebx
	subq	$1, %rax
	cmpb	$0, (%rcx,%rax)
	je	.L58
	movl	%edx, %r15d
	subl	%ebx, %r15d
.L57:
	addl	$1, %edx
	leaq	16(%rsp), %rbp
	movl	$402, %ecx
	movq	%r13, %rsi
	movslq	%edx, %rdx
	movq	%rbp, %rdi
	movq	%rdx, 8(%rsp)
	call	__memcpy_chk@PLT
	leaq	432(%rsp), %r8
	movq	8(%rsp), %rdx
	movq	%r13, %rsi
	movq	%r8, %rdi
	movl	$402, %ecx
	call	__memcpy_chk@PLT
	movq	%rax, %r8
	testl	%r12d, %r12d
	jle	.L59
	leaq	try(%rip), %rdi
	leal	-1(%r12), %eax
	movq	8(%rsp), %rdx
	leaq	4(%rdi), %rcx
	movq	%rdi, %r14
	movq	%rdi, %rsi
	leaq	(%rcx,%rax,4), %r9
	jmp	.L61
	.p2align 4,,10
	.p2align 3
.L91:
	subl	$1, %ecx
	addq	$4, %rsi
	movb	%cl, 432(%rsp,%rax)
	cmpq	%rsi, %r9
	je	.L90
.L61:
	movl	(%rsi), %ecx
	subl	%r15d, %ecx
	movl	%ecx, %eax
	negl	%eax
	cmovs	%ecx, %eax
	cltq
	movzbl	432(%rsp,%rax), %ecx
	testb	%cl, %cl
	jne	.L91
	movl	$402, %ecx
	movq	%r13, %rsi
	movq	%r8, %rdi
	call	__memcpy_chk@PLT
.L69:
	xorl	%ecx, %ecx
	jmp	.L66
	.p2align 4,,10
	.p2align 3
.L93:
	subl	$1, %edx
	addq	$1, %rcx
	movb	%dl, 432(%rsp,%rax)
	cmpl	%ecx, %r12d
	jle	.L92
.L66:
	movl	(%r14,%rcx,4), %edx
	subl	%ebx, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	432(%rsp,%rax), %edx
	testb	%dl, %dl
	jne	.L93
.L51:
	movq	840(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L94
	addq	$856, %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
	.p2align 4,,10
	.p2align 3
.L92:
	.cfi_restore_state
	movslq	%r12d, %rax
	xorl	%ecx, %ecx
	movl	%ebx, (%r14,%rax,4)
	.p2align 4,,10
	.p2align 3
.L68:
	movl	(%r14,%rcx,4), %edx
	subl	%ebx, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	addq	$1, %rcx
	cltq
	subb	$1, 0(%r13,%rax)
	cmpl	%ecx, %r12d
	jg	.L68
	addl	$1, %r12d
.L70:
	movl	%r12d, %edi
	call	combi
	movl	$402, %ecx
	movq	%rbp, %rsi
	movq	%r13, %rdi
	movl	max(%rip), %eax
	leal	1(%rax), %edx
	movslq	%edx, %rdx
	call	__memcpy_chk@PLT
	jmp	.L51
	.p2align 4,,10
	.p2align 3
.L90:
	movslq	%r12d, %rax
	movl	%r15d, (%r14,%rax,4)
	.p2align 4,,10
	.p2align 3
.L63:
	movl	(%rdi), %edx
	subl	%r15d, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	addq	$4, %rdi
	cltq
	subb	$1, 0(%r13,%rax)
	cmpq	%rdi, %r9
	jne	.L63
	leal	1(%r12), %edi
	movq	%r8, 8(%rsp)
	call	combi
	movq	%rbp, %rsi
	movq	%r13, %rdi
	movl	$402, %ecx
	movl	max(%rip), %eax
	leal	1(%rax), %r15d
	movslq	%r15d, %r15
	movq	%r15, %rdx
	call	__memcpy_chk@PLT
	movq	8(%rsp), %rdi
	movq	%r15, %rdx
	movq	%r13, %rsi
	movl	$402, %ecx
	call	__memcpy_chk@PLT
	jmp	.L69
	.p2align 4,,10
	.p2align 3
.L89:
	movslq	asz(%rip), %rax
	leaq	ans(%rip), %rbx
	leaq	0(,%r12,4), %rdx
	leaq	try(%rip), %rsi
	leaq	(%rax,%rax,4), %rdi
	salq	$4, %rdi
	addq	%rbx, %rdi
	call	memcpy@PLT
	leaq	cmp(%rip), %rcx
	movl	$4, %edx
	movq	%r12, %rsi
	movq	%rax, %rdi
	call	qsort@PLT
	movl	asz(%rip), %r13d
	testl	%r13d, %r13d
	je	.L95
	movslq	%r13d, %rax
	movslq	N(%rip), %r12
	leaq	(%rax,%rax,4), %rbp
	leal	-1(%r13), %eax
	leaq	(%rax,%rax,4), %r14
	salq	$4, %rbp
	leaq	80+ans(%rip), %rax
	salq	$2, %r12
	salq	$4, %r14
	addq	%rbx, %rbp
	addq	%rax, %r14
	jmp	.L55
	.p2align 4,,10
	.p2align 3
.L97:
	addq	$80, %rbx
	cmpq	%rbx, %r14
	je	.L96
.L55:
	movq	%r12, %rdx
	movq	%rbp, %rsi
	movq	%rbx, %rdi
	call	memcmp@PLT
	testl	%eax, %eax
	jne	.L97
	jmp	.L51
	.p2align 4,,10
	.p2align 3
.L72:
	movl	%eax, %ebx
	xorl	%r15d, %r15d
	jmp	.L57
.L96:
	addl	$1, %r13d
.L56:
	movl	%r13d, asz(%rip)
	jmp	.L51
.L59:
	movslq	%r12d, %r8
	leaq	try(%rip), %r14
	addl	$1, %r12d
	movl	%r15d, (%r14,%r8,4)
	movl	%r12d, %edi
	movq	%r8, 8(%rsp)
	call	combi
	movl	$402, %ecx
	movq	%rbp, %rsi
	movq	%r13, %rdi
	movl	max(%rip), %eax
	leal	1(%rax), %edx
	movslq	%edx, %rdx
	call	__memcpy_chk@PLT
	movq	8(%rsp), %r8
	movl	%ebx, (%r14,%r8,4)
	jmp	.L70
.L95:
	movl	$1, %r13d
	jmp	.L56
.L94:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE56:
	.size	combi, .-combi
	.p2align 4
	.type	combi.constprop.7, @function
combi.constprop.7:
.LFB63:
	.cfi_startproc
	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	$1336, %rsp
	.cfi_def_cfa_offset 1392
	movl	N(%rip), %r14d
	movq	%fs:40, %rax
	movq	%rax, 1320(%rsp)
	xorl	%eax, %eax
	cmpl	$9, %r14d
	je	.L314
	movslq	max(%rip), %r15
	leaq	f(%rip), %rbp
	cmpb	$0, 0(%rbp,%r15)
	movl	%r15d, 12(%rsp)
	movq	%r15, %rax
	jne	.L136
	subl	$1, %eax
	leaq	1(%rbp), %rdx
	cltq
	.p2align 4,,10
	.p2align 3
.L105:
	movl	%eax, %ebx
	subq	$1, %rax
	cmpb	$0, (%rdx,%rax)
	je	.L105
	movl	12(%rsp), %r13d
	subl	%ebx, %r13d
.L104:
	movl	12(%rsp), %eax
	leaq	80(%rsp), %rdi
	movl	$402, %ecx
	movq	%rbp, %rsi
	movq	%rdi, 24(%rsp)
	leal	1(%rax), %r12d
	movslq	%r12d, %r12
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
	movq	%r12, %rdx
	movl	$402, %ecx
	movq	%rbp, %rsi
	leaq	912(%rsp), %rax
	movq	%rax, %rdi
	movq	%rax, 16(%rsp)
	call	__memcpy_chk@PLT
	movl	try(%rip), %eax
	movl	%eax, %edx
	movl	%eax, 40(%rsp)
	subl	%r13d, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	912(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L134
	movl	4+try(%rip), %esi
	subl	$1, %edx
	movb	%dl, 912(%rsp,%rax)
	movl	%esi, %ecx
	movl	%esi, 48(%rsp)
	subl	%r13d, %ecx
	movl	%ecx, %edx
	negl	%edx
	cmovs	%ecx, %edx
	movslq	%edx, %rdx
	movzbl	912(%rsp,%rdx), %ecx
	testb	%cl, %cl
	je	.L134
	subl	$1, %ecx
	movb	%cl, 912(%rsp,%rdx)
	movl	8+try(%rip), %ecx
	movl	%ecx, %esi
	movl	%ecx, 52(%rsp)
	subl	%r13d, %esi
	movl	%esi, %ecx
	negl	%ecx
	cmovs	%esi, %ecx
	movslq	%ecx, %rcx
	movzbl	912(%rsp,%rcx), %esi
	testb	%sil, %sil
	je	.L134
	movl	12+try(%rip), %edi
	subl	$1, %esi
	movb	%sil, 912(%rsp,%rcx)
	movl	%edi, 56(%rsp)
	subl	%r13d, %edi
	movl	%edi, %esi
	negl	%esi
	cmovs	%edi, %esi
	movslq	%esi, %rsi
	movzbl	912(%rsp,%rsi), %edi
	testb	%dil, %dil
	je	.L134
	subl	$1, %edi
	movb	%dil, 912(%rsp,%rsi)
	movl	16+try(%rip), %edi
	movl	%edi, %r8d
	movl	%edi, 60(%rsp)
	subl	%r13d, %r8d
	movl	%r8d, %edi
	negl	%edi
	cmovs	%r8d, %edi
	movslq	%edi, %rdi
	movzbl	912(%rsp,%rdi), %r8d
	testb	%r8b, %r8b
	je	.L134
	movl	20+try(%rip), %r11d
	subl	$1, %r8d
	movb	%r8b, 912(%rsp,%rdi)
	movl	%r11d, %r9d
	movl	%r11d, 64(%rsp)
	subl	%r13d, %r9d
	movl	%r9d, %r8d
	negl	%r8d
	cmovs	%r9d, %r8d
	movslq	%r8d, %r8
	movzbl	912(%rsp,%r8), %r9d
	testb	%r9b, %r9b
	je	.L134
	movl	24+try(%rip), %r11d
	subl	$1, %r9d
	movb	%r9b, 912(%rsp,%r8)
	movl	%r11d, %r10d
	movl	%r11d, 68(%rsp)
	subl	%r13d, %r10d
	movl	%r10d, %r9d
	negl	%r9d
	cmovs	%r10d, %r9d
	movslq	%r9d, %r9
	movzbl	912(%rsp,%r9), %r10d
	testb	%r10b, %r10b
	je	.L134
	movl	28+try(%rip), %r11d
	subl	$1, %r10d
	movb	%r10b, 912(%rsp,%r9)
	movl	%r11d, 72(%rsp)
	subl	%r13d, %r11d
	movl	%r11d, %r10d
	negl	%r10d
	cmovs	%r11d, %r10d
	movslq	%r10d, %r10
	movzbl	912(%rsp,%r10), %r11d
	testb	%r11b, %r11b
	je	.L134
	subl	$1, %r11d
	movq	%r10, 32(%rsp)
	movb	%r11b, 912(%rsp,%r10)
	movl	32+try(%rip), %r11d
	movl	%r11d, 76(%rsp)
	subl	%r13d, %r11d
	movl	%r11d, %r10d
	negl	%r10d
	cmovns	%r10d, %r11d
	movslq	%r11d, %r11
	cmpb	$0, 912(%rsp,%r11)
	je	.L134
	movq	32(%rsp), %r10
	subb	$1, 0(%rbp,%rax)
	movl	%r13d, 36+try(%rip)
	subb	$1, 0(%rbp,%rdx)
	subb	$1, 0(%rbp,%rcx)
	subb	$1, 0(%rbp,%rsi)
	subb	$1, 0(%rbp,%rdi)
	subb	$1, 0(%rbp,%r8)
	subb	$1, 0(%rbp,%r9)
	subb	$1, 0(%rbp,%r10)
	subb	$1, 0(%rbp,%r11)
	cmpl	$10, %r14d
	je	.L107
	movl	12(%rsp), %eax
	leaq	1+f(%rip), %rdx
	subl	$1, %eax
	cmpb	$0, 0(%rbp,%r15)
	cltq
	jne	.L315
	.p2align 4,,10
	.p2align 3
.L115:
	movl	%eax, %r14d
	subq	$1, %rax
	cmpb	$0, (%rdx,%rax)
	je	.L115
	movl	12(%rsp), %r15d
	subl	%r14d, %r15d
.L109:
	leaq	496(%rsp), %rax
	movl	$402, %ecx
	movq	%r12, %rdx
	movq	%rbp, %rsi
	movq	%rax, %rdi
	movq	%rax, 32(%rsp)
	call	__memcpy_chk@PLT
	movq	16(%rsp), %rdi
	movq	%r12, %rdx
	movq	%rbp, %rsi
	movl	$402, %ecx
	call	__memcpy_chk@PLT
	movl	40(%rsp), %eax
	subl	%r15d, %eax
	movl	%eax, %edx
	negl	%edx
	cmovns	%edx, %eax
	movslq	%eax, %r11
	movzbl	912(%rsp,%r11), %eax
	testb	%al, %al
	je	.L133
	movl	48(%rsp), %esi
	subl	$1, %eax
	movb	%al, 912(%rsp,%r11)
	subl	%r15d, %esi
	movl	%esi, %edx
	movl	%esi, %eax
	negl	%edx
	cmovns	%edx, %eax
	movslq	%eax, %rcx
	movzbl	912(%rsp,%rcx), %eax
	testb	%al, %al
	je	.L133
	movl	52(%rsp), %edx
	subl	$1, %eax
	movq	%rcx, 40(%rsp)
	movb	%al, 912(%rsp,%rcx)
	subl	%r15d, %edx
	movl	%edx, %esi
	negl	%esi
	movl	%esi, %eax
	cmovs	%edx, %eax
	cltq
	movzbl	912(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L133
	movl	56(%rsp), %esi
	subl	$1, %edx
	movb	%dl, 912(%rsp,%rax)
	subl	%r15d, %esi
	movl	%esi, %edx
	negl	%edx
	cmovs	%esi, %edx
	movslq	%edx, %rdx
	movzbl	912(%rsp,%rdx), %ecx
	testb	%cl, %cl
	je	.L133
	movl	60(%rsp), %esi
	subl	$1, %ecx
	movb	%cl, 912(%rsp,%rdx)
	subl	%r15d, %esi
	movl	%esi, %r9d
	negl	%r9d
	movl	%r9d, %ecx
	cmovs	%esi, %ecx
	movslq	%ecx, %rcx
	movzbl	912(%rsp,%rcx), %esi
	testb	%sil, %sil
	je	.L133
	subl	$1, %esi
	movb	%sil, 912(%rsp,%rcx)
	movl	64(%rsp), %esi
	subl	%r15d, %esi
	movl	%esi, %edi
	negl	%esi
	cmovs	%edi, %esi
	movslq	%esi, %rsi
	movzbl	912(%rsp,%rsi), %edi
	testb	%dil, %dil
	je	.L133
	movl	68(%rsp), %r9d
	subl	$1, %edi
	movb	%dil, 912(%rsp,%rsi)
	subl	%r15d, %r9d
	movl	%r9d, %r8d
	negl	%r8d
	cmovs	%r9d, %r8d
	movslq	%r8d, %r8
	movzbl	912(%rsp,%r8), %edi
	testb	%dil, %dil
	je	.L133
	movl	72(%rsp), %r9d
	subl	$1, %edi
	movb	%dil, 912(%rsp,%r8)
	subl	%r15d, %r9d
	movl	%r9d, %edi
	negl	%r9d
	cmovs	%edi, %r9d
	movslq	%r9d, %r9
	movzbl	912(%rsp,%r9), %edi
	testb	%dil, %dil
	je	.L133
	movl	76(%rsp), %r10d
	subl	$1, %edi
	movb	%dil, 912(%rsp,%r9)
	subl	%r15d, %r10d
	movl	%r10d, %edi
	negl	%r10d
	cmovns	%r10d, %edi
	movslq	%edi, %rdi
	movzbl	912(%rsp,%rdi), %r10d
	testb	%r10b, %r10b
	je	.L133
	subl	$1, %r10d
	subl	%r15d, %r13d
	movb	%r10b, 912(%rsp,%rdi)
	movl	%r13d, %r10d
	negl	%r10d
	cmovs	%r13d, %r10d
	movslq	%r10d, %r10
	cmpb	$0, 912(%rsp,%r10)
	je	.L133
	movl	%r15d, 40+try(%rip)
	movq	40(%rsp), %r15
	subb	$1, 0(%rbp,%r11)
	subb	$1, 0(%rbp,%r15)
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	subb	$1, 0(%rbp,%rcx)
	subb	$1, 0(%rbp,%rsi)
	subb	$1, 0(%rbp,%r8)
	subb	$1, 0(%rbp,%r9)
	subb	$1, 0(%rbp,%rdi)
	movl	$11, %edi
	subb	$1, 0(%rbp,%r10)
	call	combi
	movl	max(%rip), %ecx
	movq	32(%rsp), %rsi
	movq	%rbp, %rdi
	leal	1(%rcx), %r12d
	movl	%ecx, 12(%rsp)
	movl	$402, %ecx
	movslq	%r12d, %r12
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
.L133:
	movq	16(%rsp), %rdi
	movq	%r12, %rdx
	movl	$402, %ecx
	movq	%rbp, %rsi
	call	__memcpy_chk@PLT
	movl	try(%rip), %edx
	subl	%r14d, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	912(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L114
	movl	4+try(%rip), %ecx
	subl	$1, %edx
	movb	%dl, 912(%rsp,%rax)
	subl	%r14d, %ecx
	movl	%ecx, %edx
	negl	%edx
	cmovs	%ecx, %edx
	movslq	%edx, %rdx
	movzbl	912(%rsp,%rdx), %ecx
	testb	%cl, %cl
	je	.L114
	movl	8+try(%rip), %esi
	subl	$1, %ecx
	movb	%cl, 912(%rsp,%rdx)
	subl	%r14d, %esi
	movl	%esi, %ecx
	negl	%ecx
	cmovs	%esi, %ecx
	movslq	%ecx, %rcx
	movzbl	912(%rsp,%rcx), %esi
	testb	%sil, %sil
	je	.L114
	movl	12+try(%rip), %edi
	subl	$1, %esi
	movb	%sil, 912(%rsp,%rcx)
	subl	%r14d, %edi
	movl	%edi, %esi
	negl	%esi
	cmovs	%edi, %esi
	movslq	%esi, %rsi
	movzbl	912(%rsp,%rsi), %edi
	testb	%dil, %dil
	je	.L114
	movl	16+try(%rip), %r8d
	subl	$1, %edi
	movb	%dil, 912(%rsp,%rsi)
	subl	%r14d, %r8d
	movl	%r8d, %edi
	negl	%edi
	cmovs	%r8d, %edi
	movslq	%edi, %rdi
	movzbl	912(%rsp,%rdi), %r8d
	testb	%r8b, %r8b
	je	.L114
	movl	20+try(%rip), %r9d
	subl	$1, %r8d
	movb	%r8b, 912(%rsp,%rdi)
	subl	%r14d, %r9d
	movl	%r9d, %r8d
	negl	%r8d
	cmovs	%r9d, %r8d
	movslq	%r8d, %r8
	movzbl	912(%rsp,%r8), %r9d
	testb	%r9b, %r9b
	je	.L114
	movl	24+try(%rip), %r10d
	subl	$1, %r9d
	movb	%r9b, 912(%rsp,%r8)
	subl	%r14d, %r10d
	movl	%r10d, %r9d
	negl	%r9d
	cmovs	%r10d, %r9d
	movslq	%r9d, %r9
	movzbl	912(%rsp,%r9), %r10d
	testb	%r10b, %r10b
	je	.L114
	movl	28+try(%rip), %r11d
	subl	$1, %r10d
	movb	%r10b, 912(%rsp,%r9)
	subl	%r14d, %r11d
	movl	%r11d, %r10d
	negl	%r10d
	cmovs	%r11d, %r10d
	movslq	%r10d, %r10
	movzbl	912(%rsp,%r10), %r11d
	testb	%r11b, %r11b
	je	.L114
	movl	32+try(%rip), %r13d
	subl	$1, %r11d
	movb	%r11b, 912(%rsp,%r10)
	subl	%r14d, %r13d
	movl	%r13d, %r11d
	negl	%r11d
	cmovs	%r13d, %r11d
	movslq	%r11d, %r11
	movzbl	912(%rsp,%r11), %r13d
	testb	%r13b, %r13b
	je	.L114
	movl	36+try(%rip), %r15d
	subl	$1, %r13d
	movb	%r13b, 912(%rsp,%r11)
	subl	%r14d, %r15d
	movl	%r15d, %r13d
	negl	%r13d
	cmovs	%r15d, %r13d
	movslq	%r13d, %r13
	cmpb	$0, 912(%rsp,%r13)
	je	.L114
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	subb	$1, 0(%rbp,%rcx)
	subb	$1, 0(%rbp,%rsi)
	subb	$1, 0(%rbp,%rdi)
	movl	$11, %edi
	subb	$1, 0(%rbp,%r8)
	subb	$1, 0(%rbp,%r9)
	subb	$1, 0(%rbp,%r10)
	subb	$1, 0(%rbp,%r11)
	subb	$1, 0(%rbp,%r13)
	movl	%r14d, 40+try(%rip)
	call	combi
	movl	max(%rip), %eax
	movq	32(%rsp), %rsi
	movq	%rbp, %rdi
	movl	$402, %ecx
	leal	1(%rax), %r12d
	movl	%eax, 12(%rsp)
	movslq	%r12d, %r12
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
.L114:
	movq	24(%rsp), %rsi
	movl	$402, %ecx
	movq	%r12, %rdx
	movq	%rbp, %rdi
	call	__memcpy_chk@PLT
.L134:
	movq	16(%rsp), %rdi
	movq	%r12, %rdx
	movl	$402, %ecx
	movq	%rbp, %rsi
	call	__memcpy_chk@PLT
	movl	try(%rip), %r13d
	movl	%r13d, %edx
	subl	%ebx, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	912(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L98
	movl	4+try(%rip), %r15d
	subl	$1, %edx
	movb	%dl, 912(%rsp,%rax)
	movl	%r15d, %ecx
	subl	%ebx, %ecx
	movl	%ecx, %edx
	negl	%edx
	cmovs	%ecx, %edx
	movslq	%edx, %rdx
	movzbl	912(%rsp,%rdx), %ecx
	testb	%cl, %cl
	je	.L98
	movl	8+try(%rip), %edi
	subl	$1, %ecx
	movb	%cl, 912(%rsp,%rdx)
	movl	%edi, %esi
	movl	%edi, 40(%rsp)
	subl	%ebx, %esi
	movl	%esi, %ecx
	negl	%ecx
	cmovs	%esi, %ecx
	movslq	%ecx, %rcx
	movzbl	912(%rsp,%rcx), %esi
	testb	%sil, %sil
	je	.L98
	subl	$1, %esi
	movb	%sil, 912(%rsp,%rcx)
	movl	12+try(%rip), %esi
	movl	%esi, %edi
	movl	%esi, 48(%rsp)
	subl	%ebx, %edi
	movl	%edi, %esi
	negl	%esi
	cmovs	%edi, %esi
	movslq	%esi, %rsi
	movzbl	912(%rsp,%rsi), %edi
	testb	%dil, %dil
	je	.L98
	subl	$1, %edi
	movb	%dil, 912(%rsp,%rsi)
	movl	16+try(%rip), %edi
	movl	%edi, %r8d
	movl	%edi, 52(%rsp)
	subl	%ebx, %r8d
	movl	%r8d, %edi
	negl	%edi
	cmovs	%r8d, %edi
	movslq	%edi, %rdi
	movzbl	912(%rsp,%rdi), %r8d
	testb	%r8b, %r8b
	je	.L98
	movl	20+try(%rip), %r14d
	subl	$1, %r8d
	movb	%r8b, 912(%rsp,%rdi)
	movl	%r14d, %r9d
	movl	%r14d, 56(%rsp)
	subl	%ebx, %r9d
	movl	%r9d, %r8d
	negl	%r8d
	cmovs	%r9d, %r8d
	movslq	%r8d, %r8
	movzbl	912(%rsp,%r8), %r9d
	testb	%r9b, %r9b
	je	.L98
	movl	24+try(%rip), %r14d
	subl	$1, %r9d
	movb	%r9b, 912(%rsp,%r8)
	movl	%r14d, %r10d
	movl	%r14d, 60(%rsp)
	subl	%ebx, %r10d
	movl	%r10d, %r9d
	negl	%r9d
	cmovs	%r10d, %r9d
	movslq	%r9d, %r9
	movzbl	912(%rsp,%r9), %r10d
	testb	%r10b, %r10b
	je	.L98
	movl	28+try(%rip), %r14d
	subl	$1, %r10d
	movb	%r10b, 912(%rsp,%r9)
	movl	%r14d, %r11d
	movl	%r14d, 64(%rsp)
	subl	%ebx, %r11d
	movl	%r11d, %r10d
	negl	%r10d
	cmovs	%r11d, %r10d
	movslq	%r10d, %r10
	movzbl	912(%rsp,%r10), %r11d
	testb	%r11b, %r11b
	je	.L98
	movl	32+try(%rip), %r14d
	subl	$1, %r11d
	movb	%r11b, 912(%rsp,%r10)
	movl	%r14d, 68(%rsp)
	subl	%ebx, %r14d
	movl	%r14d, %r11d
	negl	%r11d
	cmovs	%r14d, %r11d
	movslq	%r11d, %r11
	cmpb	$0, 912(%rsp,%r11)
	je	.L98
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	subb	$1, 0(%rbp,%rcx)
	subb	$1, 0(%rbp,%rsi)
	subb	$1, 0(%rbp,%rdi)
	subb	$1, 0(%rbp,%r8)
	subb	$1, 0(%rbp,%r9)
	subb	$1, 0(%rbp,%r10)
	subb	$1, 0(%rbp,%r11)
	cmpl	$10, N(%rip)
	movl	%ebx, 36+try(%rip)
	je	.L119
	movslq	12(%rsp), %rcx
	xorl	%r8d, %r8d
	movl	12(%rsp), %r14d
	leaq	1+f(%rip), %rdx
	movq	%rcx, %rax
	subl	$1, %eax
	cmpb	$0, 0(%rbp,%rcx)
	cltq
	jne	.L121
	.p2align 4,,10
	.p2align 3
.L127:
	movl	%eax, %r14d
	subq	$1, %rax
	cmpb	$0, (%rdx,%rax)
	je	.L127
	movl	12(%rsp), %r8d
	subl	%r14d, %r8d
.L121:
	movl	$402, %ecx
	movq	%r12, %rdx
	movq	%rbp, %rsi
	movl	%r8d, 12(%rsp)
	leaq	496(%rsp), %rax
	movq	%rax, %rdi
	movq	%rax, 32(%rsp)
	call	__memcpy_chk@PLT
	movq	16(%rsp), %rdi
	movq	%r12, %rdx
	movq	%rbp, %rsi
	movl	$402, %ecx
	call	__memcpy_chk@PLT
	movl	12(%rsp), %r8d
	subl	%r8d, %r13d
	movl	%r13d, %eax
	negl	%eax
	cmovs	%r13d, %eax
	cltq
	movzbl	912(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L131
	subl	$1, %edx
	subl	%r8d, %r15d
	movb	%dl, 912(%rsp,%rax)
	movl	%r15d, %edx
	negl	%edx
	cmovs	%r15d, %edx
	movslq	%edx, %rdx
	movzbl	912(%rsp,%rdx), %ecx
	testb	%cl, %cl
	je	.L131
	movl	40(%rsp), %esi
	subl	$1, %ecx
	movb	%cl, 912(%rsp,%rdx)
	subl	%r8d, %esi
	movl	%esi, %ecx
	negl	%ecx
	cmovs	%esi, %ecx
	movslq	%ecx, %rcx
	movzbl	912(%rsp,%rcx), %esi
	testb	%sil, %sil
	je	.L131
	subl	$1, %esi
	movb	%sil, 912(%rsp,%rcx)
	movl	48(%rsp), %esi
	subl	%r8d, %esi
	movl	%esi, %edi
	negl	%esi
	cmovs	%edi, %esi
	movslq	%esi, %rsi
	movzbl	912(%rsp,%rsi), %edi
	testb	%dil, %dil
	je	.L131
	movl	52(%rsp), %r9d
	subl	$1, %edi
	movb	%dil, 912(%rsp,%rsi)
	subl	%r8d, %r9d
	movl	%r9d, %r15d
	negl	%r15d
	movl	%r15d, %edi
	cmovs	%r9d, %edi
	movslq	%edi, %rdi
	movzbl	912(%rsp,%rdi), %r9d
	testb	%r9b, %r9b
	je	.L131
	movl	56(%rsp), %r10d
	subl	$1, %r9d
	movb	%r9b, 912(%rsp,%rdi)
	subl	%r8d, %r10d
	movl	%r10d, %r9d
	negl	%r9d
	cmovs	%r10d, %r9d
	movslq	%r9d, %r9
	movzbl	912(%rsp,%r9), %r10d
	testb	%r10b, %r10b
	je	.L131
	subl	$1, %r10d
	movb	%r10b, 912(%rsp,%r9)
	movl	60(%rsp), %r10d
	subl	%r8d, %r10d
	movl	%r10d, %r11d
	negl	%r11d
	cmovs	%r10d, %r11d
	movslq	%r11d, %r11
	movzbl	912(%rsp,%r11), %r10d
	testb	%r10b, %r10b
	je	.L131
	subl	$1, %r10d
	movb	%r10b, 912(%rsp,%r11)
	movl	64(%rsp), %r10d
	subl	%r8d, %r10d
	movl	%r10d, %r13d
	negl	%r13d
	cmovs	%r10d, %r13d
	movslq	%r13d, %r13
	movzbl	912(%rsp,%r13), %r10d
	testb	%r10b, %r10b
	je	.L131
	subl	$1, %r10d
	movb	%r10b, 912(%rsp,%r13)
	movl	68(%rsp), %r10d
	subl	%r8d, %r10d
	movl	%r10d, %r15d
	negl	%r15d
	cmovns	%r15d, %r10d
	movslq	%r10d, %r10
	movzbl	912(%rsp,%r10), %r15d
	testb	%r15b, %r15b
	je	.L131
	subl	$1, %r15d
	subl	%r8d, %ebx
	movb	%r15b, 912(%rsp,%r10)
	movl	%ebx, %r15d
	negl	%r15d
	cmovs	%ebx, %r15d
	movslq	%r15d, %r15
	cmpb	$0, 912(%rsp,%r15)
	je	.L131
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	subb	$1, 0(%rbp,%rcx)
	subb	$1, 0(%rbp,%rsi)
	subb	$1, 0(%rbp,%rdi)
	movl	$11, %edi
	subb	$1, 0(%rbp,%r9)
	subb	$1, 0(%rbp,%r11)
	subb	$1, 0(%rbp,%r13)
	subb	$1, 0(%rbp,%r10)
	subb	$1, 0(%rbp,%r15)
	movl	%r8d, 40+try(%rip)
	call	combi
	movl	max(%rip), %ebx
	movq	32(%rsp), %rsi
	movq	%rbp, %rdi
	movl	$402, %ecx
	leal	1(%rbx), %r12d
	movslq	%r12d, %r12
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
.L131:
	movq	16(%rsp), %rdi
	movq	%r12, %rdx
	movl	$402, %ecx
	movq	%rbp, %rsi
	call	__memcpy_chk@PLT
	movl	try(%rip), %edx
	subl	%r14d, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	912(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L126
	movl	4+try(%rip), %ecx
	subl	$1, %edx
	movb	%dl, 912(%rsp,%rax)
	subl	%r14d, %ecx
	movl	%ecx, %edx
	negl	%edx
	cmovs	%ecx, %edx
	movslq	%edx, %rdx
	movzbl	912(%rsp,%rdx), %ecx
	testb	%cl, %cl
	je	.L126
	movl	8+try(%rip), %esi
	subl	$1, %ecx
	movb	%cl, 912(%rsp,%rdx)
	subl	%r14d, %esi
	movl	%esi, %ecx
	negl	%ecx
	cmovs	%esi, %ecx
	movslq	%ecx, %rcx
	movzbl	912(%rsp,%rcx), %esi
	testb	%sil, %sil
	je	.L126
	movl	12+try(%rip), %edi
	subl	$1, %esi
	movb	%sil, 912(%rsp,%rcx)
	subl	%r14d, %edi
	movl	%edi, %esi
	negl	%esi
	cmovs	%edi, %esi
	movslq	%esi, %rsi
	movzbl	912(%rsp,%rsi), %edi
	testb	%dil, %dil
	je	.L126
	movl	16+try(%rip), %r8d
	subl	$1, %edi
	movb	%dil, 912(%rsp,%rsi)
	subl	%r14d, %r8d
	movl	%r8d, %edi
	negl	%edi
	cmovs	%r8d, %edi
	movslq	%edi, %rdi
	movzbl	912(%rsp,%rdi), %r8d
	testb	%r8b, %r8b
	je	.L126
	movl	20+try(%rip), %r9d
	subl	$1, %r8d
	movb	%r8b, 912(%rsp,%rdi)
	subl	%r14d, %r9d
	movl	%r9d, %r8d
	negl	%r8d
	cmovs	%r9d, %r8d
	movslq	%r8d, %r8
	movzbl	912(%rsp,%r8), %r9d
	testb	%r9b, %r9b
	je	.L126
	movl	24+try(%rip), %r10d
	subl	$1, %r9d
	movb	%r9b, 912(%rsp,%r8)
	subl	%r14d, %r10d
	movl	%r10d, %r9d
	negl	%r9d
	cmovs	%r10d, %r9d
	movslq	%r9d, %r9
	movzbl	912(%rsp,%r9), %r10d
	testb	%r10b, %r10b
	je	.L126
	movl	28+try(%rip), %r11d
	subl	$1, %r10d
	movb	%r10b, 912(%rsp,%r9)
	subl	%r14d, %r11d
	movl	%r11d, %r10d
	negl	%r10d
	cmovs	%r11d, %r10d
	movslq	%r10d, %r10
	movzbl	912(%rsp,%r10), %r11d
	testb	%r11b, %r11b
	je	.L126
	movl	32+try(%rip), %ebx
	subl	$1, %r11d
	movb	%r11b, 912(%rsp,%r10)
	subl	%r14d, %ebx
	movl	%ebx, %r11d
	negl	%r11d
	cmovs	%ebx, %r11d
	movslq	%r11d, %r11
	movzbl	912(%rsp,%r11), %ebx
	testb	%bl, %bl
	je	.L126
	movl	36+try(%rip), %r13d
	subl	$1, %ebx
	movb	%bl, 912(%rsp,%r11)
	subl	%r14d, %r13d
	movl	%r13d, %ebx
	negl	%ebx
	cmovs	%r13d, %ebx
	movslq	%ebx, %rbx
	cmpb	$0, 912(%rsp,%rbx)
	je	.L126
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	subb	$1, 0(%rbp,%rcx)
	subb	$1, 0(%rbp,%rsi)
	subb	$1, 0(%rbp,%rdi)
	movl	$11, %edi
	subb	$1, 0(%rbp,%r8)
	subb	$1, 0(%rbp,%r9)
	subb	$1, 0(%rbp,%r10)
	subb	$1, 0(%rbp,%r11)
	subb	$1, 0(%rbp,%rbx)
	movl	%r14d, 40+try(%rip)
	call	combi
	movl	max(%rip), %eax
	movq	32(%rsp), %rsi
	movq	%rbp, %rdi
	movl	$402, %ecx
	leal	1(%rax), %r12d
	movslq	%r12d, %r12
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
.L126:
	movq	24(%rsp), %rsi
	movl	$402, %ecx
	movq	%r12, %rdx
	movq	%rbp, %rdi
	call	__memcpy_chk@PLT
.L98:
	movq	1320(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L316
	addq	$1336, %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
.L119:
	.cfi_restore_state
	movslq	asz(%rip), %rax
	leaq	ans(%rip), %r13
	movdqa	try(%rip), %xmm4
	leaq	cmp(%rip), %rcx
	movdqa	16+try(%rip), %xmm5
	movl	$4, %edx
	movl	$10, %esi
	leaq	(%rax,%rax,4), %rdi
	movq	32+try(%rip), %rax
	salq	$4, %rdi
	addq	%r13, %rdi
	movq	%rax, 32(%rdi)
	movaps	%xmm4, (%rdi)
	movaps	%xmm5, 16(%rdi)
	call	qsort@PLT
	movl	asz(%rip), %r15d
	testl	%r15d, %r15d
	je	.L317
	movslq	%r15d, %rax
	movq	%r13, %rbx
	movslq	N(%rip), %r14
	leaq	(%rax,%rax,4), %r12
	leal	-1(%r15), %eax
	salq	$4, %r12
	salq	$2, %r14
	addq	%r13, %r12
	leaq	(%rax,%rax,4), %r13
	leaq	80(%rbx), %rax
	salq	$4, %r13
	addq	%rax, %r13
	jmp	.L124
	.p2align 4,,10
	.p2align 3
.L319:
	addq	$80, %rbx
	cmpq	%r13, %rbx
	je	.L318
.L124:
	movq	%r14, %rdx
	movq	%r12, %rsi
	movq	%rbx, %rdi
	call	memcmp@PLT
	testl	%eax, %eax
	jne	.L319
.L123:
	movl	max(%rip), %eax
	leal	1(%rax), %r12d
	movslq	%r12d, %r12
	jmp	.L126
.L107:
	movslq	asz(%rip), %rax
	leaq	ans(%rip), %r13
	movdqa	try(%rip), %xmm2
	leaq	cmp(%rip), %rcx
	movdqa	16+try(%rip), %xmm3
	movl	$4, %edx
	movl	$10, %esi
	leaq	(%rax,%rax,4), %rdi
	movq	32+try(%rip), %rax
	salq	$4, %rdi
	addq	%r13, %rdi
	movq	%rax, 32(%rdi)
	movaps	%xmm2, (%rdi)
	movaps	%xmm3, 16(%rdi)
	call	qsort@PLT
	movl	asz(%rip), %eax
	movl	%eax, 12(%rsp)
	testl	%eax, %eax
	je	.L320
	cltq
	movq	%r13, %r15
	movslq	N(%rip), %r14
	leaq	(%rax,%rax,4), %r12
	leal	-1(%rax), %eax
	salq	$4, %r12
	salq	$2, %r14
	addq	%r13, %r12
	leaq	(%rax,%rax,4), %r13
	leaq	80(%r15), %rax
	salq	$4, %r13
	addq	%rax, %r13
	jmp	.L112
	.p2align 4,,10
	.p2align 3
.L322:
	addq	$80, %r15
	cmpq	%r13, %r15
	je	.L321
.L112:
	movq	%r14, %rdx
	movq	%r12, %rsi
	movq	%r15, %rdi
	call	memcmp@PLT
	testl	%eax, %eax
	jne	.L322
.L111:
	movl	max(%rip), %eax
	leal	1(%rax), %r12d
	movl	%eax, 12(%rsp)
	movslq	%r12d, %r12
	jmp	.L114
	.p2align 4,,10
	.p2align 3
.L314:
	movslq	asz(%rip), %rax
	leaq	ans(%rip), %r13
	movdqa	try(%rip), %xmm0
	leaq	cmp(%rip), %rcx
	movdqa	16+try(%rip), %xmm1
	movl	$4, %edx
	movl	$9, %esi
	leaq	(%rax,%rax,4), %rdi
	movl	32+try(%rip), %eax
	salq	$4, %rdi
	addq	%r13, %rdi
	movl	%eax, 32(%rdi)
	movaps	%xmm0, (%rdi)
	movaps	%xmm1, 16(%rdi)
	call	qsort@PLT
	movl	asz(%rip), %r14d
	testl	%r14d, %r14d
	je	.L323
	movslq	%r14d, %rax
	movq	%r13, %rbx
	movslq	N(%rip), %r12
	leaq	(%rax,%rax,4), %rbp
	leal	-1(%r14), %eax
	salq	$4, %rbp
	salq	$2, %r12
	addq	%r13, %rbp
	leaq	(%rax,%rax,4), %r13
	leaq	80(%rbx), %rax
	salq	$4, %r13
	addq	%rax, %r13
	jmp	.L102
	.p2align 4,,10
	.p2align 3
.L325:
	addq	$80, %rbx
	cmpq	%r13, %rbx
	je	.L324
.L102:
	movq	%r12, %rdx
	movq	%rbp, %rsi
	movq	%rbx, %rdi
	call	memcmp@PLT
	testl	%eax, %eax
	jne	.L325
	jmp	.L98
	.p2align 4,,10
	.p2align 3
.L136:
	movl	%r15d, %ebx
	xorl	%r13d, %r13d
	jmp	.L104
.L324:
	addl	$1, %r14d
.L103:
	movl	%r14d, asz(%rip)
	jmp	.L98
.L320:
	movl	$1, %r15d
.L113:
	movl	%r15d, asz(%rip)
	jmp	.L111
.L317:
	movl	$1, %r15d
.L125:
	movl	%r15d, asz(%rip)
	jmp	.L123
.L315:
	movl	12(%rsp), %r14d
	xorl	%r15d, %r15d
	jmp	.L109
.L321:
	movl	12(%rsp), %r15d
	addl	$1, %r15d
	jmp	.L113
.L318:
	addl	$1, %r15d
	jmp	.L125
.L323:
	movl	$1, %r14d
	jmp	.L103
.L316:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE63:
	.size	combi.constprop.7, .-combi.constprop.7
	.p2align 4
	.type	combi.constprop.6, @function
combi.constprop.6:
.LFB64:
	.cfi_startproc
	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	$840, %rsp
	.cfi_def_cfa_offset 896
	movq	%fs:40, %rax
	movq	%rax, 824(%rsp)
	xorl	%eax, %eax
	cmpl	$8, N(%rip)
	je	.L387
	movslq	max(%rip), %rax
	leaq	f(%rip), %rbp
	cmpb	$0, 0(%rbp,%rax)
	movq	%rax, %r12
	jne	.L338
	leal	-1(%rax), %eax
	leaq	1(%rbp), %rdx
	cltq
	.p2align 4,,10
	.p2align 3
.L333:
	movl	%eax, %ebx
	subq	$1, %rax
	cmpb	$0, (%rdx,%rax)
	je	.L333
	movl	%r12d, %r14d
	subl	%ebx, %r14d
.L332:
	addl	$1, %r12d
	movq	%rsp, %r13
	movl	$402, %ecx
	movq	%rbp, %rsi
	movslq	%r12d, %r12
	movq	%r13, %rdi
	leaq	416(%rsp), %r15
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
	movq	%r12, %rdx
	movl	$402, %ecx
	movq	%rbp, %rsi
	movq	%r15, %rdi
	call	__memcpy_chk@PLT
	movl	try(%rip), %edx
	subl	%r14d, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	416(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L336
	movl	4+try(%rip), %ecx
	subl	$1, %edx
	movb	%dl, 416(%rsp,%rax)
	subl	%r14d, %ecx
	movl	%ecx, %edx
	negl	%edx
	cmovs	%ecx, %edx
	movslq	%edx, %rdx
	movzbl	416(%rsp,%rdx), %ecx
	testb	%cl, %cl
	je	.L336
	movl	8+try(%rip), %esi
	subl	$1, %ecx
	movb	%cl, 416(%rsp,%rdx)
	subl	%r14d, %esi
	movl	%esi, %ecx
	negl	%ecx
	cmovs	%esi, %ecx
	movslq	%ecx, %rcx
	movzbl	416(%rsp,%rcx), %esi
	testb	%sil, %sil
	je	.L336
	movl	12+try(%rip), %edi
	subl	$1, %esi
	movb	%sil, 416(%rsp,%rcx)
	subl	%r14d, %edi
	movl	%edi, %esi
	negl	%esi
	cmovs	%edi, %esi
	movslq	%esi, %rsi
	movzbl	416(%rsp,%rsi), %edi
	testb	%dil, %dil
	je	.L336
	movl	16+try(%rip), %r8d
	subl	$1, %edi
	movb	%dil, 416(%rsp,%rsi)
	subl	%r14d, %r8d
	movl	%r8d, %edi
	negl	%edi
	cmovs	%r8d, %edi
	movslq	%edi, %rdi
	movzbl	416(%rsp,%rdi), %r8d
	testb	%r8b, %r8b
	je	.L336
	movl	20+try(%rip), %r9d
	subl	$1, %r8d
	movb	%r8b, 416(%rsp,%rdi)
	subl	%r14d, %r9d
	movl	%r9d, %r8d
	negl	%r8d
	cmovs	%r9d, %r8d
	movslq	%r8d, %r8
	movzbl	416(%rsp,%r8), %r9d
	testb	%r9b, %r9b
	je	.L336
	movl	24+try(%rip), %r10d
	subl	$1, %r9d
	movb	%r9b, 416(%rsp,%r8)
	subl	%r14d, %r10d
	movl	%r10d, %r9d
	negl	%r9d
	cmovs	%r10d, %r9d
	movslq	%r9d, %r9
	movzbl	416(%rsp,%r9), %r10d
	testb	%r10b, %r10b
	je	.L336
	movl	28+try(%rip), %r11d
	subl	$1, %r10d
	movb	%r10b, 416(%rsp,%r9)
	subl	%r14d, %r11d
	movl	%r11d, %r10d
	negl	%r10d
	cmovs	%r11d, %r10d
	movslq	%r10d, %r10
	cmpb	$0, 416(%rsp,%r10)
	je	.L336
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	subb	$1, 0(%rbp,%rcx)
	subb	$1, 0(%rbp,%rsi)
	subb	$1, 0(%rbp,%rdi)
	subb	$1, 0(%rbp,%r8)
	subb	$1, 0(%rbp,%r9)
	subb	$1, 0(%rbp,%r10)
	movl	%r14d, 32+try(%rip)
	call	combi.constprop.7
	movl	$402, %ecx
	movq	%r13, %rsi
	movq	%rbp, %rdi
	movl	max(%rip), %eax
	leal	1(%rax), %r12d
	movslq	%r12d, %r12
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
.L336:
	movq	%r12, %rdx
	movl	$402, %ecx
	movq	%rbp, %rsi
	movq	%r15, %rdi
	call	__memcpy_chk@PLT
	movl	try(%rip), %edx
	subl	%ebx, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	416(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L326
	movl	4+try(%rip), %ecx
	subl	$1, %edx
	movb	%dl, 416(%rsp,%rax)
	subl	%ebx, %ecx
	movl	%ecx, %edx
	negl	%edx
	cmovs	%ecx, %edx
	movslq	%edx, %rdx
	movzbl	416(%rsp,%rdx), %ecx
	testb	%cl, %cl
	je	.L326
	movl	8+try(%rip), %esi
	subl	$1, %ecx
	movb	%cl, 416(%rsp,%rdx)
	subl	%ebx, %esi
	movl	%esi, %ecx
	negl	%ecx
	cmovs	%esi, %ecx
	movslq	%ecx, %rcx
	movzbl	416(%rsp,%rcx), %esi
	testb	%sil, %sil
	je	.L326
	movl	12+try(%rip), %edi
	subl	$1, %esi
	movb	%sil, 416(%rsp,%rcx)
	subl	%ebx, %edi
	movl	%edi, %esi
	negl	%esi
	cmovs	%edi, %esi
	movslq	%esi, %rsi
	movzbl	416(%rsp,%rsi), %edi
	testb	%dil, %dil
	je	.L326
	movl	16+try(%rip), %r8d
	subl	$1, %edi
	movb	%dil, 416(%rsp,%rsi)
	subl	%ebx, %r8d
	movl	%r8d, %edi
	negl	%edi
	cmovs	%r8d, %edi
	movslq	%edi, %rdi
	movzbl	416(%rsp,%rdi), %r8d
	testb	%r8b, %r8b
	je	.L326
	movl	20+try(%rip), %r9d
	subl	$1, %r8d
	movb	%r8b, 416(%rsp,%rdi)
	subl	%ebx, %r9d
	movl	%r9d, %r8d
	negl	%r8d
	cmovs	%r9d, %r8d
	movslq	%r8d, %r8
	movzbl	416(%rsp,%r8), %r9d
	testb	%r9b, %r9b
	je	.L326
	movl	24+try(%rip), %r10d
	subl	$1, %r9d
	movb	%r9b, 416(%rsp,%r8)
	subl	%ebx, %r10d
	movl	%r10d, %r9d
	negl	%r9d
	cmovs	%r10d, %r9d
	movslq	%r9d, %r9
	movzbl	416(%rsp,%r9), %r10d
	testb	%r10b, %r10b
	je	.L326
	movl	28+try(%rip), %r11d
	subl	$1, %r10d
	movb	%r10b, 416(%rsp,%r9)
	subl	%ebx, %r11d
	movl	%r11d, %r10d
	negl	%r10d
	cmovs	%r11d, %r10d
	movslq	%r10d, %r10
	cmpb	$0, 416(%rsp,%r10)
	je	.L326
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	subb	$1, 0(%rbp,%rcx)
	subb	$1, 0(%rbp,%rsi)
	subb	$1, 0(%rbp,%rdi)
	subb	$1, 0(%rbp,%r8)
	subb	$1, 0(%rbp,%r9)
	subb	$1, 0(%rbp,%r10)
	movl	%ebx, 32+try(%rip)
	call	combi.constprop.7
	movl	$402, %ecx
	movq	%r13, %rsi
	movq	%rbp, %rdi
	movl	max(%rip), %eax
	leal	1(%rax), %edx
	movslq	%edx, %rdx
	call	__memcpy_chk@PLT
.L326:
	movq	824(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L388
	addq	$840, %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
	.p2align 4,,10
	.p2align 3
.L387:
	.cfi_restore_state
	movslq	asz(%rip), %rax
	movdqa	try(%rip), %xmm0
	leaq	ans(%rip), %rbx
	leaq	cmp(%rip), %rcx
	movdqa	16+try(%rip), %xmm1
	movl	$4, %edx
	movl	$8, %esi
	leaq	(%rax,%rax,4), %rdi
	salq	$4, %rdi
	addq	%rbx, %rdi
	movaps	%xmm0, (%rdi)
	movaps	%xmm1, 16(%rdi)
	call	qsort@PLT
	movl	asz(%rip), %r13d
	testl	%r13d, %r13d
	je	.L389
	movslq	%r13d, %rax
	movslq	N(%rip), %r12
	leaq	(%rax,%rax,4), %rbp
	leal	-1(%r13), %eax
	leaq	(%rax,%rax,4), %r14
	salq	$4, %rbp
	leaq	80+ans(%rip), %rax
	salq	$2, %r12
	salq	$4, %r14
	addq	%rbx, %rbp
	addq	%rax, %r14
	.p2align 4,,10
	.p2align 3
.L330:
	movq	%r12, %rdx
	movq	%rbp, %rsi
	movq	%rbx, %rdi
	call	memcmp@PLT
	testl	%eax, %eax
	je	.L326
	addq	$80, %rbx
	cmpq	%r14, %rbx
	jne	.L330
	addl	$1, %r13d
.L331:
	movl	%r13d, asz(%rip)
	jmp	.L326
	.p2align 4,,10
	.p2align 3
.L338:
	movl	%eax, %ebx
	xorl	%r14d, %r14d
	jmp	.L332
.L389:
	movl	$1, %r13d
	jmp	.L331
.L388:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE64:
	.size	combi.constprop.6, .-combi.constprop.6
	.p2align 4
	.type	combi.constprop.5, @function
combi.constprop.5:
.LFB65:
	.cfi_startproc
	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	$840, %rsp
	.cfi_def_cfa_offset 896
	movq	%fs:40, %rax
	movq	%rax, 824(%rsp)
	xorl	%eax, %eax
	cmpl	$7, N(%rip)
	je	.L445
	movslq	max(%rip), %rax
	leaq	f(%rip), %rbp
	cmpb	$0, 0(%rbp,%rax)
	movq	%rax, %r12
	jne	.L402
	leal	-1(%rax), %eax
	leaq	1(%rbp), %rdx
	cltq
	.p2align 4,,10
	.p2align 3
.L397:
	movl	%eax, %ebx
	subq	$1, %rax
	cmpb	$0, (%rdx,%rax)
	je	.L397
	movl	%r12d, %r14d
	subl	%ebx, %r14d
.L396:
	addl	$1, %r12d
	movq	%rsp, %r13
	movl	$402, %ecx
	movq	%rbp, %rsi
	movslq	%r12d, %r12
	movq	%r13, %rdi
	leaq	416(%rsp), %r15
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
	movq	%r12, %rdx
	movl	$402, %ecx
	movq	%rbp, %rsi
	movq	%r15, %rdi
	call	__memcpy_chk@PLT
	movl	try(%rip), %edx
	subl	%r14d, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	416(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L400
	movl	4+try(%rip), %ecx
	subl	$1, %edx
	movb	%dl, 416(%rsp,%rax)
	subl	%r14d, %ecx
	movl	%ecx, %edx
	negl	%edx
	cmovs	%ecx, %edx
	movslq	%edx, %rdx
	movzbl	416(%rsp,%rdx), %ecx
	testb	%cl, %cl
	je	.L400
	movl	8+try(%rip), %esi
	subl	$1, %ecx
	movb	%cl, 416(%rsp,%rdx)
	subl	%r14d, %esi
	movl	%esi, %ecx
	negl	%ecx
	cmovs	%esi, %ecx
	movslq	%ecx, %rcx
	movzbl	416(%rsp,%rcx), %esi
	testb	%sil, %sil
	je	.L400
	movl	12+try(%rip), %edi
	subl	$1, %esi
	movb	%sil, 416(%rsp,%rcx)
	subl	%r14d, %edi
	movl	%edi, %esi
	negl	%esi
	cmovs	%edi, %esi
	movslq	%esi, %rsi
	movzbl	416(%rsp,%rsi), %edi
	testb	%dil, %dil
	je	.L400
	movl	16+try(%rip), %r8d
	subl	$1, %edi
	movb	%dil, 416(%rsp,%rsi)
	subl	%r14d, %r8d
	movl	%r8d, %edi
	negl	%edi
	cmovs	%r8d, %edi
	movslq	%edi, %rdi
	movzbl	416(%rsp,%rdi), %r8d
	testb	%r8b, %r8b
	je	.L400
	movl	20+try(%rip), %r9d
	subl	$1, %r8d
	movb	%r8b, 416(%rsp,%rdi)
	subl	%r14d, %r9d
	movl	%r9d, %r8d
	negl	%r8d
	cmovs	%r9d, %r8d
	movslq	%r8d, %r8
	movzbl	416(%rsp,%r8), %r9d
	testb	%r9b, %r9b
	je	.L400
	movl	24+try(%rip), %r10d
	subl	$1, %r9d
	movb	%r9b, 416(%rsp,%r8)
	subl	%r14d, %r10d
	movl	%r10d, %r9d
	negl	%r9d
	cmovs	%r10d, %r9d
	movslq	%r9d, %r9
	cmpb	$0, 416(%rsp,%r9)
	je	.L400
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	subb	$1, 0(%rbp,%rcx)
	subb	$1, 0(%rbp,%rsi)
	subb	$1, 0(%rbp,%rdi)
	subb	$1, 0(%rbp,%r8)
	subb	$1, 0(%rbp,%r9)
	movl	%r14d, 28+try(%rip)
	call	combi.constprop.6
	movl	$402, %ecx
	movq	%r13, %rsi
	movq	%rbp, %rdi
	movl	max(%rip), %eax
	leal	1(%rax), %r12d
	movslq	%r12d, %r12
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
.L400:
	movq	%r12, %rdx
	movl	$402, %ecx
	movq	%rbp, %rsi
	movq	%r15, %rdi
	call	__memcpy_chk@PLT
	movl	try(%rip), %edx
	subl	%ebx, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	416(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L390
	movl	4+try(%rip), %ecx
	subl	$1, %edx
	movb	%dl, 416(%rsp,%rax)
	subl	%ebx, %ecx
	movl	%ecx, %edx
	negl	%edx
	cmovs	%ecx, %edx
	movslq	%edx, %rdx
	movzbl	416(%rsp,%rdx), %ecx
	testb	%cl, %cl
	je	.L390
	movl	8+try(%rip), %esi
	subl	$1, %ecx
	movb	%cl, 416(%rsp,%rdx)
	subl	%ebx, %esi
	movl	%esi, %ecx
	negl	%ecx
	cmovs	%esi, %ecx
	movslq	%ecx, %rcx
	movzbl	416(%rsp,%rcx), %esi
	testb	%sil, %sil
	je	.L390
	movl	12+try(%rip), %edi
	subl	$1, %esi
	movb	%sil, 416(%rsp,%rcx)
	subl	%ebx, %edi
	movl	%edi, %esi
	negl	%esi
	cmovs	%edi, %esi
	movslq	%esi, %rsi
	movzbl	416(%rsp,%rsi), %edi
	testb	%dil, %dil
	je	.L390
	movl	16+try(%rip), %r8d
	subl	$1, %edi
	movb	%dil, 416(%rsp,%rsi)
	subl	%ebx, %r8d
	movl	%r8d, %edi
	negl	%edi
	cmovs	%r8d, %edi
	movslq	%edi, %rdi
	movzbl	416(%rsp,%rdi), %r8d
	testb	%r8b, %r8b
	je	.L390
	movl	20+try(%rip), %r9d
	subl	$1, %r8d
	movb	%r8b, 416(%rsp,%rdi)
	subl	%ebx, %r9d
	movl	%r9d, %r8d
	negl	%r8d
	cmovs	%r9d, %r8d
	movslq	%r8d, %r8
	movzbl	416(%rsp,%r8), %r9d
	testb	%r9b, %r9b
	je	.L390
	movl	24+try(%rip), %r10d
	subl	$1, %r9d
	movb	%r9b, 416(%rsp,%r8)
	subl	%ebx, %r10d
	movl	%r10d, %r9d
	negl	%r9d
	cmovs	%r10d, %r9d
	movslq	%r9d, %r9
	cmpb	$0, 416(%rsp,%r9)
	je	.L390
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	subb	$1, 0(%rbp,%rcx)
	subb	$1, 0(%rbp,%rsi)
	subb	$1, 0(%rbp,%rdi)
	subb	$1, 0(%rbp,%r8)
	subb	$1, 0(%rbp,%r9)
	movl	%ebx, 28+try(%rip)
	call	combi.constprop.6
	movl	$402, %ecx
	movq	%r13, %rsi
	movq	%rbp, %rdi
	movl	max(%rip), %eax
	leal	1(%rax), %edx
	movslq	%edx, %rdx
	call	__memcpy_chk@PLT
.L390:
	movq	824(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L446
	addq	$840, %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
	.p2align 4,,10
	.p2align 3
.L445:
	.cfi_restore_state
	movslq	asz(%rip), %rax
	leaq	ans(%rip), %rbx
	movdqa	try(%rip), %xmm0
	leaq	cmp(%rip), %rcx
	movl	$4, %edx
	movl	$7, %esi
	leaq	(%rax,%rax,4), %rdi
	movq	16+try(%rip), %rax
	salq	$4, %rdi
	addq	%rbx, %rdi
	movq	%rax, 16(%rdi)
	movl	24+try(%rip), %eax
	movaps	%xmm0, (%rdi)
	movl	%eax, 24(%rdi)
	call	qsort@PLT
	movl	asz(%rip), %r13d
	testl	%r13d, %r13d
	je	.L447
	movslq	%r13d, %rax
	movslq	N(%rip), %r12
	leaq	(%rax,%rax,4), %rbp
	leal	-1(%r13), %eax
	leaq	(%rax,%rax,4), %r14
	salq	$4, %rbp
	leaq	80+ans(%rip), %rax
	salq	$2, %r12
	salq	$4, %r14
	addq	%rbx, %rbp
	addq	%rax, %r14
	.p2align 4,,10
	.p2align 3
.L394:
	movq	%r12, %rdx
	movq	%rbp, %rsi
	movq	%rbx, %rdi
	call	memcmp@PLT
	testl	%eax, %eax
	je	.L390
	addq	$80, %rbx
	cmpq	%r14, %rbx
	jne	.L394
	addl	$1, %r13d
.L395:
	movl	%r13d, asz(%rip)
	jmp	.L390
	.p2align 4,,10
	.p2align 3
.L402:
	movl	%eax, %ebx
	xorl	%r14d, %r14d
	jmp	.L396
.L447:
	movl	$1, %r13d
	jmp	.L395
.L446:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE65:
	.size	combi.constprop.5, .-combi.constprop.5
	.p2align 4
	.type	combi.constprop.4, @function
combi.constprop.4:
.LFB66:
	.cfi_startproc
	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	$840, %rsp
	.cfi_def_cfa_offset 896
	movq	%fs:40, %rax
	movq	%rax, 824(%rsp)
	xorl	%eax, %eax
	cmpl	$6, N(%rip)
	je	.L497
	movslq	max(%rip), %rax
	leaq	f(%rip), %rbp
	cmpb	$0, 0(%rbp,%rax)
	movq	%rax, %r12
	jne	.L460
	leal	-1(%rax), %eax
	leaq	1(%rbp), %rdx
	cltq
	.p2align 4,,10
	.p2align 3
.L455:
	movl	%eax, %ebx
	subq	$1, %rax
	cmpb	$0, (%rdx,%rax)
	je	.L455
	movl	%r12d, %r14d
	subl	%ebx, %r14d
.L454:
	addl	$1, %r12d
	movq	%rsp, %r13
	movl	$402, %ecx
	movq	%rbp, %rsi
	movslq	%r12d, %r12
	movq	%r13, %rdi
	leaq	416(%rsp), %r15
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
	movq	%r12, %rdx
	movl	$402, %ecx
	movq	%rbp, %rsi
	movq	%r15, %rdi
	call	__memcpy_chk@PLT
	movl	try(%rip), %edx
	subl	%r14d, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	416(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L458
	movl	4+try(%rip), %ecx
	subl	$1, %edx
	movb	%dl, 416(%rsp,%rax)
	subl	%r14d, %ecx
	movl	%ecx, %edx
	negl	%edx
	cmovs	%ecx, %edx
	movslq	%edx, %rdx
	movzbl	416(%rsp,%rdx), %ecx
	testb	%cl, %cl
	je	.L458
	movl	8+try(%rip), %esi
	subl	$1, %ecx
	movb	%cl, 416(%rsp,%rdx)
	subl	%r14d, %esi
	movl	%esi, %ecx
	negl	%ecx
	cmovs	%esi, %ecx
	movslq	%ecx, %rcx
	movzbl	416(%rsp,%rcx), %esi
	testb	%sil, %sil
	je	.L458
	movl	12+try(%rip), %edi
	subl	$1, %esi
	movb	%sil, 416(%rsp,%rcx)
	subl	%r14d, %edi
	movl	%edi, %esi
	negl	%esi
	cmovs	%edi, %esi
	movslq	%esi, %rsi
	movzbl	416(%rsp,%rsi), %edi
	testb	%dil, %dil
	je	.L458
	movl	16+try(%rip), %r8d
	subl	$1, %edi
	movb	%dil, 416(%rsp,%rsi)
	subl	%r14d, %r8d
	movl	%r8d, %edi
	negl	%edi
	cmovs	%r8d, %edi
	movslq	%edi, %rdi
	movzbl	416(%rsp,%rdi), %r8d
	testb	%r8b, %r8b
	je	.L458
	movl	20+try(%rip), %r9d
	subl	$1, %r8d
	movb	%r8b, 416(%rsp,%rdi)
	subl	%r14d, %r9d
	movl	%r9d, %r8d
	negl	%r8d
	cmovs	%r9d, %r8d
	movslq	%r8d, %r8
	cmpb	$0, 416(%rsp,%r8)
	je	.L458
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	subb	$1, 0(%rbp,%rcx)
	subb	$1, 0(%rbp,%rsi)
	subb	$1, 0(%rbp,%rdi)
	subb	$1, 0(%rbp,%r8)
	movl	%r14d, 24+try(%rip)
	call	combi.constprop.5
	movl	$402, %ecx
	movq	%r13, %rsi
	movq	%rbp, %rdi
	movl	max(%rip), %eax
	leal	1(%rax), %r12d
	movslq	%r12d, %r12
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
.L458:
	movq	%r12, %rdx
	movl	$402, %ecx
	movq	%rbp, %rsi
	movq	%r15, %rdi
	call	__memcpy_chk@PLT
	movl	try(%rip), %edx
	subl	%ebx, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	416(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L448
	movl	4+try(%rip), %ecx
	subl	$1, %edx
	movb	%dl, 416(%rsp,%rax)
	subl	%ebx, %ecx
	movl	%ecx, %edx
	negl	%edx
	cmovs	%ecx, %edx
	movslq	%edx, %rdx
	movzbl	416(%rsp,%rdx), %ecx
	testb	%cl, %cl
	je	.L448
	movl	8+try(%rip), %esi
	subl	$1, %ecx
	movb	%cl, 416(%rsp,%rdx)
	subl	%ebx, %esi
	movl	%esi, %ecx
	negl	%ecx
	cmovs	%esi, %ecx
	movslq	%ecx, %rcx
	movzbl	416(%rsp,%rcx), %esi
	testb	%sil, %sil
	je	.L448
	movl	12+try(%rip), %edi
	subl	$1, %esi
	movb	%sil, 416(%rsp,%rcx)
	subl	%ebx, %edi
	movl	%edi, %esi
	negl	%esi
	cmovs	%edi, %esi
	movslq	%esi, %rsi
	movzbl	416(%rsp,%rsi), %edi
	testb	%dil, %dil
	je	.L448
	movl	16+try(%rip), %r8d
	subl	$1, %edi
	movb	%dil, 416(%rsp,%rsi)
	subl	%ebx, %r8d
	movl	%r8d, %edi
	negl	%edi
	cmovs	%r8d, %edi
	movslq	%edi, %rdi
	movzbl	416(%rsp,%rdi), %r8d
	testb	%r8b, %r8b
	je	.L448
	movl	20+try(%rip), %r9d
	subl	$1, %r8d
	movb	%r8b, 416(%rsp,%rdi)
	subl	%ebx, %r9d
	movl	%r9d, %r8d
	negl	%r8d
	cmovs	%r9d, %r8d
	movslq	%r8d, %r8
	cmpb	$0, 416(%rsp,%r8)
	je	.L448
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	subb	$1, 0(%rbp,%rcx)
	subb	$1, 0(%rbp,%rsi)
	subb	$1, 0(%rbp,%rdi)
	subb	$1, 0(%rbp,%r8)
	movl	%ebx, 24+try(%rip)
	call	combi.constprop.5
	movl	$402, %ecx
	movq	%r13, %rsi
	movq	%rbp, %rdi
	movl	max(%rip), %eax
	leal	1(%rax), %edx
	movslq	%edx, %rdx
	call	__memcpy_chk@PLT
.L448:
	movq	824(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L498
	addq	$840, %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
	.p2align 4,,10
	.p2align 3
.L497:
	.cfi_restore_state
	movslq	asz(%rip), %rax
	leaq	ans(%rip), %rbx
	movdqa	try(%rip), %xmm0
	leaq	cmp(%rip), %rcx
	movl	$4, %edx
	movl	$6, %esi
	leaq	(%rax,%rax,4), %rdi
	movq	16+try(%rip), %rax
	salq	$4, %rdi
	addq	%rbx, %rdi
	movq	%rax, 16(%rdi)
	movaps	%xmm0, (%rdi)
	call	qsort@PLT
	movl	asz(%rip), %r13d
	testl	%r13d, %r13d
	je	.L499
	movslq	%r13d, %rax
	movslq	N(%rip), %r12
	leaq	(%rax,%rax,4), %rbp
	leal	-1(%r13), %eax
	leaq	(%rax,%rax,4), %r14
	salq	$4, %rbp
	leaq	80+ans(%rip), %rax
	salq	$2, %r12
	salq	$4, %r14
	addq	%rbx, %rbp
	addq	%rax, %r14
	.p2align 4,,10
	.p2align 3
.L452:
	movq	%r12, %rdx
	movq	%rbp, %rsi
	movq	%rbx, %rdi
	call	memcmp@PLT
	testl	%eax, %eax
	je	.L448
	addq	$80, %rbx
	cmpq	%r14, %rbx
	jne	.L452
	addl	$1, %r13d
.L453:
	movl	%r13d, asz(%rip)
	jmp	.L448
	.p2align 4,,10
	.p2align 3
.L460:
	movl	%eax, %ebx
	xorl	%r14d, %r14d
	jmp	.L454
.L499:
	movl	$1, %r13d
	jmp	.L453
.L498:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE66:
	.size	combi.constprop.4, .-combi.constprop.4
	.p2align 4
	.type	combi.constprop.3, @function
combi.constprop.3:
.LFB67:
	.cfi_startproc
	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	$840, %rsp
	.cfi_def_cfa_offset 896
	movq	%fs:40, %rax
	movq	%rax, 824(%rsp)
	xorl	%eax, %eax
	cmpl	$5, N(%rip)
	je	.L543
	movslq	max(%rip), %rax
	leaq	f(%rip), %rbp
	cmpb	$0, 0(%rbp,%rax)
	movq	%rax, %r12
	jne	.L512
	leal	-1(%rax), %eax
	leaq	1(%rbp), %rdx
	cltq
	.p2align 4,,10
	.p2align 3
.L507:
	movl	%eax, %ebx
	subq	$1, %rax
	cmpb	$0, (%rdx,%rax)
	je	.L507
	movl	%r12d, %r14d
	subl	%ebx, %r14d
.L506:
	addl	$1, %r12d
	movq	%rsp, %r13
	movl	$402, %ecx
	movq	%rbp, %rsi
	movslq	%r12d, %r12
	movq	%r13, %rdi
	leaq	416(%rsp), %r15
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
	movq	%r12, %rdx
	movl	$402, %ecx
	movq	%rbp, %rsi
	movq	%r15, %rdi
	call	__memcpy_chk@PLT
	movl	try(%rip), %edx
	subl	%r14d, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	416(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L510
	movl	4+try(%rip), %ecx
	subl	$1, %edx
	movb	%dl, 416(%rsp,%rax)
	subl	%r14d, %ecx
	movl	%ecx, %edx
	negl	%edx
	cmovs	%ecx, %edx
	movslq	%edx, %rdx
	movzbl	416(%rsp,%rdx), %ecx
	testb	%cl, %cl
	je	.L510
	movl	8+try(%rip), %esi
	subl	$1, %ecx
	movb	%cl, 416(%rsp,%rdx)
	subl	%r14d, %esi
	movl	%esi, %ecx
	negl	%ecx
	cmovs	%esi, %ecx
	movslq	%ecx, %rcx
	movzbl	416(%rsp,%rcx), %esi
	testb	%sil, %sil
	je	.L510
	movl	12+try(%rip), %edi
	subl	$1, %esi
	movb	%sil, 416(%rsp,%rcx)
	subl	%r14d, %edi
	movl	%edi, %esi
	negl	%esi
	cmovs	%edi, %esi
	movslq	%esi, %rsi
	movzbl	416(%rsp,%rsi), %edi
	testb	%dil, %dil
	je	.L510
	movl	16+try(%rip), %r8d
	subl	$1, %edi
	movb	%dil, 416(%rsp,%rsi)
	subl	%r14d, %r8d
	movl	%r8d, %edi
	negl	%edi
	cmovs	%r8d, %edi
	movslq	%edi, %rdi
	cmpb	$0, 416(%rsp,%rdi)
	je	.L510
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	subb	$1, 0(%rbp,%rcx)
	subb	$1, 0(%rbp,%rsi)
	subb	$1, 0(%rbp,%rdi)
	movl	%r14d, 20+try(%rip)
	call	combi.constprop.4
	movl	$402, %ecx
	movq	%r13, %rsi
	movq	%rbp, %rdi
	movl	max(%rip), %eax
	leal	1(%rax), %r12d
	movslq	%r12d, %r12
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
.L510:
	movq	%r12, %rdx
	movl	$402, %ecx
	movq	%rbp, %rsi
	movq	%r15, %rdi
	call	__memcpy_chk@PLT
	movl	try(%rip), %edx
	subl	%ebx, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	416(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L500
	movl	4+try(%rip), %ecx
	subl	$1, %edx
	movb	%dl, 416(%rsp,%rax)
	subl	%ebx, %ecx
	movl	%ecx, %edx
	negl	%edx
	cmovs	%ecx, %edx
	movslq	%edx, %rdx
	movzbl	416(%rsp,%rdx), %ecx
	testb	%cl, %cl
	je	.L500
	movl	8+try(%rip), %esi
	subl	$1, %ecx
	movb	%cl, 416(%rsp,%rdx)
	subl	%ebx, %esi
	movl	%esi, %ecx
	negl	%ecx
	cmovs	%esi, %ecx
	movslq	%ecx, %rcx
	movzbl	416(%rsp,%rcx), %esi
	testb	%sil, %sil
	je	.L500
	movl	12+try(%rip), %edi
	subl	$1, %esi
	movb	%sil, 416(%rsp,%rcx)
	subl	%ebx, %edi
	movl	%edi, %esi
	negl	%esi
	cmovs	%edi, %esi
	movslq	%esi, %rsi
	movzbl	416(%rsp,%rsi), %edi
	testb	%dil, %dil
	je	.L500
	movl	16+try(%rip), %r8d
	subl	$1, %edi
	movb	%dil, 416(%rsp,%rsi)
	subl	%ebx, %r8d
	movl	%r8d, %edi
	negl	%edi
	cmovs	%r8d, %edi
	movslq	%edi, %rdi
	cmpb	$0, 416(%rsp,%rdi)
	je	.L500
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	subb	$1, 0(%rbp,%rcx)
	subb	$1, 0(%rbp,%rsi)
	subb	$1, 0(%rbp,%rdi)
	movl	%ebx, 20+try(%rip)
	call	combi.constprop.4
	movl	$402, %ecx
	movq	%r13, %rsi
	movq	%rbp, %rdi
	movl	max(%rip), %eax
	leal	1(%rax), %edx
	movslq	%edx, %rdx
	call	__memcpy_chk@PLT
.L500:
	movq	824(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L544
	addq	$840, %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
	.p2align 4,,10
	.p2align 3
.L543:
	.cfi_restore_state
	movslq	asz(%rip), %rax
	leaq	ans(%rip), %rbx
	movdqa	try(%rip), %xmm0
	leaq	cmp(%rip), %rcx
	movl	$4, %edx
	movl	$5, %esi
	leaq	(%rax,%rax,4), %rdi
	movl	16+try(%rip), %eax
	salq	$4, %rdi
	addq	%rbx, %rdi
	movl	%eax, 16(%rdi)
	movaps	%xmm0, (%rdi)
	call	qsort@PLT
	movl	asz(%rip), %r13d
	testl	%r13d, %r13d
	je	.L545
	movslq	%r13d, %rax
	movslq	N(%rip), %r12
	leaq	(%rax,%rax,4), %rbp
	leal	-1(%r13), %eax
	leaq	(%rax,%rax,4), %r14
	salq	$4, %rbp
	leaq	80+ans(%rip), %rax
	salq	$2, %r12
	salq	$4, %r14
	addq	%rbx, %rbp
	addq	%rax, %r14
	.p2align 4,,10
	.p2align 3
.L504:
	movq	%r12, %rdx
	movq	%rbp, %rsi
	movq	%rbx, %rdi
	call	memcmp@PLT
	testl	%eax, %eax
	je	.L500
	addq	$80, %rbx
	cmpq	%r14, %rbx
	jne	.L504
	addl	$1, %r13d
.L505:
	movl	%r13d, asz(%rip)
	jmp	.L500
	.p2align 4,,10
	.p2align 3
.L512:
	movl	%eax, %ebx
	xorl	%r14d, %r14d
	jmp	.L506
.L545:
	movl	$1, %r13d
	jmp	.L505
.L544:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE67:
	.size	combi.constprop.3, .-combi.constprop.3
	.p2align 4
	.type	combi.constprop.2, @function
combi.constprop.2:
.LFB68:
	.cfi_startproc
	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	$840, %rsp
	.cfi_def_cfa_offset 896
	movq	%fs:40, %rax
	movq	%rax, 824(%rsp)
	xorl	%eax, %eax
	cmpl	$4, N(%rip)
	je	.L583
	movslq	max(%rip), %rax
	leaq	f(%rip), %rbp
	cmpb	$0, 0(%rbp,%rax)
	movq	%rax, %r12
	jne	.L558
	leal	-1(%rax), %eax
	leaq	1(%rbp), %rdx
	cltq
	.p2align 4,,10
	.p2align 3
.L553:
	movl	%eax, %ebx
	subq	$1, %rax
	cmpb	$0, (%rdx,%rax)
	je	.L553
	movl	%r12d, %r14d
	subl	%ebx, %r14d
.L552:
	addl	$1, %r12d
	movq	%rsp, %r13
	movl	$402, %ecx
	movq	%rbp, %rsi
	movslq	%r12d, %r12
	movq	%r13, %rdi
	leaq	416(%rsp), %r15
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
	movq	%r12, %rdx
	movl	$402, %ecx
	movq	%rbp, %rsi
	movq	%r15, %rdi
	call	__memcpy_chk@PLT
	movl	try(%rip), %edx
	subl	%r14d, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	416(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L556
	movl	4+try(%rip), %ecx
	subl	$1, %edx
	movb	%dl, 416(%rsp,%rax)
	subl	%r14d, %ecx
	movl	%ecx, %edx
	negl	%edx
	cmovs	%ecx, %edx
	movslq	%edx, %rdx
	movzbl	416(%rsp,%rdx), %ecx
	testb	%cl, %cl
	je	.L556
	movl	8+try(%rip), %esi
	subl	$1, %ecx
	movb	%cl, 416(%rsp,%rdx)
	subl	%r14d, %esi
	movl	%esi, %ecx
	negl	%ecx
	cmovs	%esi, %ecx
	movslq	%ecx, %rcx
	movzbl	416(%rsp,%rcx), %esi
	testb	%sil, %sil
	je	.L556
	movl	12+try(%rip), %edi
	subl	$1, %esi
	movb	%sil, 416(%rsp,%rcx)
	subl	%r14d, %edi
	movl	%edi, %esi
	negl	%esi
	cmovs	%edi, %esi
	movslq	%esi, %rsi
	cmpb	$0, 416(%rsp,%rsi)
	je	.L556
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	subb	$1, 0(%rbp,%rcx)
	subb	$1, 0(%rbp,%rsi)
	movl	%r14d, 16+try(%rip)
	call	combi.constprop.3
	movl	$402, %ecx
	movq	%r13, %rsi
	movq	%rbp, %rdi
	movl	max(%rip), %eax
	leal	1(%rax), %r12d
	movslq	%r12d, %r12
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
.L556:
	movq	%r12, %rdx
	movl	$402, %ecx
	movq	%rbp, %rsi
	movq	%r15, %rdi
	call	__memcpy_chk@PLT
	movl	try(%rip), %edx
	subl	%ebx, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	416(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L546
	movl	4+try(%rip), %ecx
	subl	$1, %edx
	movb	%dl, 416(%rsp,%rax)
	subl	%ebx, %ecx
	movl	%ecx, %edx
	negl	%edx
	cmovs	%ecx, %edx
	movslq	%edx, %rdx
	movzbl	416(%rsp,%rdx), %ecx
	testb	%cl, %cl
	je	.L546
	movl	8+try(%rip), %esi
	subl	$1, %ecx
	movb	%cl, 416(%rsp,%rdx)
	subl	%ebx, %esi
	movl	%esi, %ecx
	negl	%ecx
	cmovs	%esi, %ecx
	movslq	%ecx, %rcx
	movzbl	416(%rsp,%rcx), %esi
	testb	%sil, %sil
	je	.L546
	movl	12+try(%rip), %edi
	subl	$1, %esi
	movb	%sil, 416(%rsp,%rcx)
	subl	%ebx, %edi
	movl	%edi, %esi
	negl	%esi
	cmovs	%edi, %esi
	movslq	%esi, %rsi
	cmpb	$0, 416(%rsp,%rsi)
	je	.L546
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	subb	$1, 0(%rbp,%rcx)
	subb	$1, 0(%rbp,%rsi)
	movl	%ebx, 16+try(%rip)
	call	combi.constprop.3
	movl	$402, %ecx
	movq	%r13, %rsi
	movq	%rbp, %rdi
	movl	max(%rip), %eax
	leal	1(%rax), %edx
	movslq	%edx, %rdx
	call	__memcpy_chk@PLT
.L546:
	movq	824(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L584
	addq	$840, %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
	.p2align 4,,10
	.p2align 3
.L583:
	.cfi_restore_state
	movslq	asz(%rip), %rax
	movdqa	try(%rip), %xmm0
	leaq	ans(%rip), %rbx
	leaq	cmp(%rip), %rcx
	movl	$4, %edx
	movl	$4, %esi
	leaq	(%rax,%rax,4), %rdi
	salq	$4, %rdi
	addq	%rbx, %rdi
	movaps	%xmm0, (%rdi)
	call	qsort@PLT
	movl	asz(%rip), %r13d
	testl	%r13d, %r13d
	je	.L585
	movslq	%r13d, %rax
	movslq	N(%rip), %r12
	leaq	(%rax,%rax,4), %rbp
	leal	-1(%r13), %eax
	leaq	(%rax,%rax,4), %r14
	salq	$4, %rbp
	leaq	80+ans(%rip), %rax
	salq	$2, %r12
	salq	$4, %r14
	addq	%rbx, %rbp
	addq	%rax, %r14
	.p2align 4,,10
	.p2align 3
.L550:
	movq	%r12, %rdx
	movq	%rbp, %rsi
	movq	%rbx, %rdi
	call	memcmp@PLT
	testl	%eax, %eax
	je	.L546
	addq	$80, %rbx
	cmpq	%r14, %rbx
	jne	.L550
	addl	$1, %r13d
.L551:
	movl	%r13d, asz(%rip)
	jmp	.L546
	.p2align 4,,10
	.p2align 3
.L558:
	movl	%eax, %ebx
	xorl	%r14d, %r14d
	jmp	.L552
.L585:
	movl	$1, %r13d
	jmp	.L551
.L584:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE68:
	.size	combi.constprop.2, .-combi.constprop.2
	.p2align 4
	.type	combi.constprop.1, @function
combi.constprop.1:
.LFB69:
	.cfi_startproc
	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	$840, %rsp
	.cfi_def_cfa_offset 896
	movq	%fs:40, %rax
	movq	%rax, 824(%rsp)
	xorl	%eax, %eax
	cmpl	$3, N(%rip)
	je	.L617
	movslq	max(%rip), %rax
	leaq	f(%rip), %rbp
	cmpb	$0, 0(%rbp,%rax)
	movq	%rax, %r12
	jne	.L598
	leal	-1(%rax), %eax
	leaq	1(%rbp), %rdx
	cltq
	.p2align 4,,10
	.p2align 3
.L593:
	movl	%eax, %ebx
	subq	$1, %rax
	cmpb	$0, (%rdx,%rax)
	je	.L593
	movl	%r12d, %r14d
	subl	%ebx, %r14d
.L592:
	addl	$1, %r12d
	movq	%rsp, %r13
	movl	$402, %ecx
	movq	%rbp, %rsi
	movslq	%r12d, %r12
	movq	%r13, %rdi
	leaq	416(%rsp), %r15
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
	movq	%r12, %rdx
	movl	$402, %ecx
	movq	%rbp, %rsi
	movq	%r15, %rdi
	call	__memcpy_chk@PLT
	movl	try(%rip), %edx
	subl	%r14d, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	416(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L596
	movl	4+try(%rip), %ecx
	subl	$1, %edx
	movb	%dl, 416(%rsp,%rax)
	subl	%r14d, %ecx
	movl	%ecx, %edx
	negl	%edx
	cmovs	%ecx, %edx
	movslq	%edx, %rdx
	movzbl	416(%rsp,%rdx), %ecx
	testb	%cl, %cl
	je	.L596
	movl	8+try(%rip), %esi
	subl	$1, %ecx
	movb	%cl, 416(%rsp,%rdx)
	subl	%r14d, %esi
	movl	%esi, %ecx
	negl	%ecx
	cmovs	%esi, %ecx
	movslq	%ecx, %rcx
	cmpb	$0, 416(%rsp,%rcx)
	je	.L596
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	subb	$1, 0(%rbp,%rcx)
	movl	%r14d, 12+try(%rip)
	call	combi.constprop.2
	movl	$402, %ecx
	movq	%r13, %rsi
	movq	%rbp, %rdi
	movl	max(%rip), %eax
	leal	1(%rax), %r12d
	movslq	%r12d, %r12
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
.L596:
	movq	%r12, %rdx
	movl	$402, %ecx
	movq	%rbp, %rsi
	movq	%r15, %rdi
	call	__memcpy_chk@PLT
	movl	try(%rip), %edx
	subl	%ebx, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	416(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L586
	movl	4+try(%rip), %ecx
	subl	$1, %edx
	movb	%dl, 416(%rsp,%rax)
	subl	%ebx, %ecx
	movl	%ecx, %edx
	negl	%edx
	cmovs	%ecx, %edx
	movslq	%edx, %rdx
	movzbl	416(%rsp,%rdx), %ecx
	testb	%cl, %cl
	je	.L586
	movl	8+try(%rip), %esi
	subl	$1, %ecx
	movb	%cl, 416(%rsp,%rdx)
	subl	%ebx, %esi
	movl	%esi, %ecx
	negl	%ecx
	cmovs	%esi, %ecx
	movslq	%ecx, %rcx
	cmpb	$0, 416(%rsp,%rcx)
	je	.L586
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	subb	$1, 0(%rbp,%rcx)
	movl	%ebx, 12+try(%rip)
	call	combi.constprop.2
	movl	$402, %ecx
	movq	%r13, %rsi
	movq	%rbp, %rdi
	movl	max(%rip), %eax
	leal	1(%rax), %edx
	movslq	%edx, %rdx
	call	__memcpy_chk@PLT
.L586:
	movq	824(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L618
	addq	$840, %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
	.p2align 4,,10
	.p2align 3
.L617:
	.cfi_restore_state
	movslq	asz(%rip), %rax
	movl	$4, %edx
	movl	$3, %esi
	leaq	ans(%rip), %rbx
	leaq	cmp(%rip), %rcx
	leaq	(%rax,%rax,4), %rdi
	movq	try(%rip), %rax
	salq	$4, %rdi
	addq	%rbx, %rdi
	movq	%rax, (%rdi)
	movl	8+try(%rip), %eax
	movl	%eax, 8(%rdi)
	call	qsort@PLT
	movl	asz(%rip), %r13d
	testl	%r13d, %r13d
	je	.L619
	movslq	%r13d, %rax
	movslq	N(%rip), %r12
	leaq	(%rax,%rax,4), %rbp
	leal	-1(%r13), %eax
	leaq	(%rax,%rax,4), %r14
	salq	$4, %rbp
	leaq	80+ans(%rip), %rax
	salq	$2, %r12
	salq	$4, %r14
	addq	%rbx, %rbp
	addq	%rax, %r14
	.p2align 4,,10
	.p2align 3
.L590:
	movq	%r12, %rdx
	movq	%rbp, %rsi
	movq	%rbx, %rdi
	call	memcmp@PLT
	testl	%eax, %eax
	je	.L586
	addq	$80, %rbx
	cmpq	%rbx, %r14
	jne	.L590
	addl	$1, %r13d
.L591:
	movl	%r13d, asz(%rip)
	jmp	.L586
	.p2align 4,,10
	.p2align 3
.L598:
	movl	%eax, %ebx
	xorl	%r14d, %r14d
	jmp	.L592
.L619:
	movl	$1, %r13d
	jmp	.L591
.L618:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE69:
	.size	combi.constprop.1, .-combi.constprop.1
	.p2align 4
	.type	combi.constprop.0, @function
combi.constprop.0:
.LFB70:
	.cfi_startproc
	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	$856, %rsp
	.cfi_def_cfa_offset 912
	movq	%fs:40, %rax
	movq	%rax, 840(%rsp)
	xorl	%eax, %eax
	cmpl	$2, N(%rip)
	je	.L644
	movslq	max(%rip), %rax
	leaq	f(%rip), %rbp
	cmpb	$0, 0(%rbp,%rax)
	movq	%rax, %r12
	jne	.L634
	leal	-1(%rax), %eax
	leaq	1(%rbp), %rdx
	cltq
	.p2align 4,,10
	.p2align 3
.L627:
	movl	%eax, %ebx
	subq	$1, %rax
	cmpb	$0, (%rdx,%rax)
	je	.L627
	movl	%r12d, %r15d
	subl	%ebx, %r15d
.L626:
	addl	$1, %r12d
	leaq	16(%rsp), %r13
	movl	$402, %ecx
	movq	%rbp, %rsi
	movslq	%r12d, %r12
	movq	%r13, %rdi
	leaq	432(%rsp), %r14
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
	movq	%r12, %rdx
	movl	$402, %ecx
	movq	%rbp, %rsi
	movq	%r14, %rdi
	call	__memcpy_chk@PLT
	movl	try(%rip), %r8d
	movl	%r8d, %edx
	subl	%r15d, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	432(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L629
	movl	4+try(%rip), %ecx
	subl	$1, %edx
	movb	%dl, 432(%rsp,%rax)
	subl	%r15d, %ecx
	movl	%ecx, %edx
	negl	%edx
	cmovs	%ecx, %edx
	movslq	%edx, %rdx
	cmpb	$0, 432(%rsp,%rdx)
	je	.L629
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	movl	%r15d, 8+try(%rip)
	call	combi.constprop.1
	movl	$402, %ecx
	movq	%r13, %rsi
	movq	%rbp, %rdi
	movl	max(%rip), %eax
	leal	1(%rax), %r12d
	movslq	%r12d, %r12
	movq	%r12, %rdx
	call	__memcpy_chk@PLT
	movl	try(%rip), %r8d
.L629:
	movq	%r12, %rdx
	movl	$402, %ecx
	movq	%rbp, %rsi
	movq	%r14, %rdi
	movl	%r8d, 12(%rsp)
	call	__memcpy_chk@PLT
	movl	12(%rsp), %edx
	subl	%ebx, %edx
	movl	%edx, %eax
	negl	%eax
	cmovs	%edx, %eax
	cltq
	movzbl	432(%rsp,%rax), %edx
	testb	%dl, %dl
	je	.L620
	movl	4+try(%rip), %ecx
	subl	$1, %edx
	movb	%dl, 432(%rsp,%rax)
	subl	%ebx, %ecx
	movl	%ecx, %edx
	negl	%edx
	cmovs	%ecx, %edx
	movslq	%edx, %rdx
	cmpb	$0, 432(%rsp,%rdx)
	je	.L620
	subb	$1, 0(%rbp,%rax)
	subb	$1, 0(%rbp,%rdx)
	movl	%ebx, 8+try(%rip)
	call	combi.constprop.1
	movl	$402, %ecx
	movq	%r13, %rsi
	movq	%rbp, %rdi
	movl	max(%rip), %eax
	leal	1(%rax), %edx
	movslq	%edx, %rdx
	call	__memcpy_chk@PLT
.L620:
	movq	840(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L645
	addq	$856, %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
	.p2align 4,,10
	.p2align 3
.L644:
	.cfi_restore_state
	movslq	asz(%rip), %rax
	movl	$4, %edx
	movl	$2, %esi
	leaq	ans(%rip), %rbx
	leaq	cmp(%rip), %rcx
	leaq	(%rax,%rax,4), %rdi
	movq	try(%rip), %rax
	salq	$4, %rdi
	addq	%rbx, %rdi
	movq	%rax, (%rdi)
	call	qsort@PLT
	movl	asz(%rip), %r13d
	testl	%r13d, %r13d
	je	.L646
	movslq	%r13d, %rax
	movslq	N(%rip), %r12
	leaq	(%rax,%rax,4), %rbp
	leal	-1(%r13), %eax
	leaq	(%rax,%rax,4), %r14
	salq	$4, %rbp
	leaq	80+ans(%rip), %rax
	salq	$2, %r12
	salq	$4, %r14
	addq	%rbx, %rbp
	addq	%rax, %r14
	.p2align 4,,10
	.p2align 3
.L624:
	movq	%r12, %rdx
	movq	%rbp, %rsi
	movq	%rbx, %rdi
	call	memcmp@PLT
	testl	%eax, %eax
	je	.L620
	addq	$80, %rbx
	cmpq	%rbx, %r14
	jne	.L624
	addl	$1, %r13d
.L625:
	movl	%r13d, asz(%rip)
	jmp	.L620
	.p2align 4,,10
	.p2align 3
.L634:
	movl	%eax, %ebx
	xorl	%r15d, %r15d
	jmp	.L626
.L646:
	movl	$1, %r13d
	jmp	.L625
.L645:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE70:
	.size	combi.constprop.0, .-combi.constprop.0
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"-----\n"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB57:
	.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
	leaq	f(%rip), %rbx
	subq	$56, %rsp
	.cfi_def_cfa_offset 112
	movq	%fs:40, %rax
	movq	%rax, 40(%rsp)
	xorl	%eax, %eax
	leaq	16(%rsp), %r14
.L648:
	movq	stdin(%rip), %rdi
	movq	8(%rdi), %rax
	movq	16(%rdi), %rcx
	cmpq	%rcx, %rax
	jnb	.L721
	leaq	1(%rax), %rdx
	movq	%rdx, 8(%rdi)
	movzbl	(%rax), %eax
.L691:
	xorl	%ebp, %ebp
	jmp	.L695
	.p2align 4,,10
	.p2align 3
.L692:
	leaq	1(%rdx), %rax
	movq	%rax, 8(%rdi)
	movzbl	(%rdx), %eax
	cmpl	$47, %eax
	jle	.L694
.L693:
	movq	8(%rdi), %rdx
	movq	16(%rdi), %rcx
.L695:
	leal	0(%rbp,%rbp,4), %esi
	andl	$15, %eax
	leal	(%rax,%rsi,2), %ebp
	cmpq	%rcx, %rdx
	jb	.L692
	call	__uflow@PLT
	cmpl	$47, %eax
	jle	.L694
	movq	stdin(%rip), %rdi
	jmp	.L693
.L694:
	movl	%ebp, N(%rip)
	testl	%ebp, %ebp
	je	.L722
	movl	$50, %ecx
	movl	$0, %eax
	leal	-1(%rbp), %edx
	movq	%rbx, %rdi
	rep stosq
	imull	%ebp, %edx
	sarl	%edx
	movl	%edx, dsz(%rip)
	movl	$0, %edx
	movw	%dx, (%rdi)
	je	.L649
	xorl	%r15d, %r15d
	leaq	d(%rip), %rbp
	.p2align 4,,10
	.p2align 3
.L656:
	movq	stdin(%rip), %rdi
	movq	8(%rdi), %rax
	movq	16(%rdi), %rcx
	cmpq	%rcx, %rax
	jnb	.L723
	leaq	1(%rax), %rdx
	movq	%rdx, 8(%rdi)
	movzbl	(%rax), %eax
.L651:
	xorl	%r12d, %r12d
	jmp	.L655
	.p2align 4,,10
	.p2align 3
.L652:
	leaq	1(%rdx), %rax
	movq	%rax, 8(%rdi)
	movzbl	(%rdx), %eax
	cmpl	$47, %eax
	jle	.L654
.L653:
	movq	8(%rdi), %rdx
	movq	16(%rdi), %rcx
.L655:
	leal	(%r12,%r12,4), %esi
	andl	$15, %eax
	leal	(%rax,%rsi,2), %r12d
	cmpq	%rcx, %rdx
	jb	.L652
	call	__uflow@PLT
	cmpl	$47, %eax
	jle	.L654
	movq	stdin(%rip), %rdi
	jmp	.L653
	.p2align 4,,10
	.p2align 3
.L654:
	movl	dsz(%rip), %eax
	movl	%r12d, 0(%rbp,%r15,4)
	movslq	%r12d, %r12
	addq	$1, %r15
	addb	$1, (%rbx,%r12)
	cmpl	%r15d, %eax
	jg	.L656
	movslq	d(%rip), %rdx
	cmpl	$1, %eax
	jne	.L657
	xorl	%ecx, %ecx
	testl	%edx, %edx
	je	.L664
	.p2align 4,,10
	.p2align 3
.L658:
	movslq	%edx, %rax
	movl	%edx, %esi
	movslq	%ecx, %rdi
	imulq	$1717986919, %rax, %rax
	sarl	$31, %esi
	sarq	$34, %rax
	subl	%esi, %eax
	leal	(%rax,%rax,4), %esi
	addl	%esi, %esi
	subl	%esi, %edx
	addl	$48, %edx
	movb	%dl, (%r14,%rcx)
	movl	%eax, %edx
	movq	%rcx, %rax
	addq	$1, %rcx
	testl	%edx, %edx
	jne	.L658
	leaq	15(%rsp,%rdi), %r12
	leaq	(%r14,%rdi), %rbp
	subq	%rax, %r12
	.p2align 4,,10
	.p2align 3
.L663:
	movq	stdout(%rip), %rdi
	movzbl	0(%rbp), %edx
	movq	40(%rdi), %rax
	cmpq	48(%rdi), %rax
	jnb	.L724
	leaq	1(%rax), %rcx
	movq	%rcx, 40(%rdi)
	movb	%dl, (%rax)
.L662:
	subq	$1, %rbp
	cmpq	%r12, %rbp
	jne	.L663
.L664:
	movq	stdout(%rip), %rdi
	movq	40(%rdi), %rax
	cmpq	48(%rdi), %rax
	jnb	.L725
	leaq	1(%rax), %rdx
	movq	%rdx, 40(%rdi)
	movb	$10, (%rax)
.L665:
	movl	$45, %edx
	leaq	.LC0(%rip), %rbp
	jmp	.L666
	.p2align 4,,10
	.p2align 3
.L687:
	leaq	1(%rax), %rcx
	movq	%rcx, 40(%rdi)
	movb	%dl, (%rax)
	movzbl	0(%rbp), %edx
	testb	%dl, %dl
	je	.L648
.L666:
	movq	stdout(%rip), %rdi
	addq	$1, %rbp
	movq	40(%rdi), %rax
	cmpq	48(%rdi), %rax
	jb	.L687
	movzbl	%dl, %esi
	call	__overflow@PLT
	movzbl	0(%rbp), %edx
	testb	%dl, %dl
	jne	.L666
	jmp	.L648
.L723:
	call	__uflow@PLT
	movq	stdin(%rip), %rdi
	movq	8(%rdi), %rdx
	movq	16(%rdi), %rcx
	jmp	.L651
.L724:
	movzbl	%dl, %esi
	call	__overflow@PLT
	jmp	.L662
.L649:
	movslq	d(%rip), %rdx
.L657:
	subb	$1, (%rbx,%rdx)
	movl	%edx, max(%rip)
	movl	$0, try(%rip)
	movl	%edx, 4+try(%rip)
	movl	$0, asz(%rip)
	call	combi.constprop.0
	leaq	ans(%rip), %rax
	movl	$0, 4(%rsp)
	movq	%rax, 8(%rsp)
	movl	asz(%rip), %eax
	testl	%eax, %eax
	jle	.L665
	.p2align 4,,10
	.p2align 3
.L686:
	movq	8(%rsp), %rax
	xorl	%ecx, %ecx
	movl	4(%rax), %edx
	testl	%edx, %edx
	je	.L674
	.p2align 4,,10
	.p2align 3
.L668:
	movslq	%edx, %rax
	movl	%edx, %esi
	movslq	%ecx, %rdi
	imulq	$1717986919, %rax, %rax
	sarl	$31, %esi
	sarq	$34, %rax
	subl	%esi, %eax
	leal	(%rax,%rax,4), %esi
	addl	%esi, %esi
	subl	%esi, %edx
	addl	$48, %edx
	movb	%dl, (%r14,%rcx)
	movl	%eax, %edx
	movq	%rcx, %rax
	addq	$1, %rcx
	testl	%edx, %edx
	jne	.L668
	leaq	15(%rsp,%rdi), %r8
	leaq	(%r14,%rdi), %r15
	subq	%rax, %r8
	movq	%r8, %r13
	.p2align 4,,10
	.p2align 3
.L673:
	movq	stdout(%rip), %rdi
	movzbl	(%r15), %edx
	movq	40(%rdi), %rax
	cmpq	48(%rdi), %rax
	jnb	.L726
	leaq	1(%rax), %rcx
	movq	%rcx, 40(%rdi)
	movb	%dl, (%rax)
.L672:
	subq	$1, %r15
	cmpq	%r15, %r13
	jne	.L673
.L674:
	cmpl	$2, N(%rip)
	movq	8(%rsp), %r15
	movl	$2, %r13d
	jle	.L670
	.p2align 4,,10
	.p2align 3
.L669:
	movq	stdout(%rip), %rdi
	movq	40(%rdi), %rax
	cmpq	48(%rdi), %rax
	jnb	.L727
	leaq	1(%rax), %rdx
	movq	%rdx, 40(%rdi)
	movb	$32, (%rax)
.L678:
	movl	8(%r15), %edx
	xorl	%esi, %esi
	subl	4(%r15), %edx
	je	.L683
	.p2align 4,,10
	.p2align 3
.L679:
	movslq	%edx, %rax
	movl	%edx, %r8d
	movslq	%esi, %rdi
	imulq	$1717986919, %rax, %rax
	sarl	$31, %r8d
	sarq	$34, %rax
	subl	%r8d, %eax
	leal	(%rax,%rax,4), %r8d
	addl	%r8d, %r8d
	subl	%r8d, %edx
	addl	$48, %edx
	movb	%dl, (%r14,%rsi)
	movl	%eax, %edx
	movq	%rsi, %rax
	addq	$1, %rsi
	testl	%edx, %edx
	jne	.L679
	leaq	15(%rsp,%rdi), %r8
	leaq	(%r14,%rdi), %rbp
	subq	%rax, %r8
	movq	%r8, %r12
	.p2align 4,,10
	.p2align 3
.L682:
	movq	stdout(%rip), %rdi
	movzbl	0(%rbp), %esi
	movq	40(%rdi), %rax
	cmpq	48(%rdi), %rax
	jnb	.L728
	leaq	1(%rax), %r9
	movq	%r9, 40(%rdi)
	movb	%sil, (%rax)
.L681:
	subq	$1, %rbp
	cmpq	%r12, %rbp
	jne	.L682
.L683:
	addl	$1, %r13d
	addq	$4, %r15
	cmpl	%r13d, N(%rip)
	jg	.L669
.L670:
	movq	stdout(%rip), %rdi
	movq	40(%rdi), %rax
	cmpq	48(%rdi), %rax
	jnb	.L729
	leaq	1(%rax), %rdx
	addl	$1, 4(%rsp)
	addq	$80, 8(%rsp)
	movq	%rdx, 40(%rdi)
	movb	$10, (%rax)
	movl	4(%rsp), %eax
	cmpl	%eax, asz(%rip)
	jg	.L686
	jmp	.L665
	.p2align 4,,10
	.p2align 3
.L728:
	call	__overflow@PLT
	jmp	.L681
	.p2align 4,,10
	.p2align 3
.L727:
	movl	$32, %esi
	call	__overflow@PLT
	jmp	.L678
	.p2align 4,,10
	.p2align 3
.L726:
	movzbl	%dl, %esi
	call	__overflow@PLT
	jmp	.L672
.L729:
	movl	$10, %esi
	call	__overflow@PLT
	addl	$1, 4(%rsp)
	movl	4(%rsp), %eax
	addq	$80, 8(%rsp)
	cmpl	asz(%rip), %eax
	jl	.L686
	jmp	.L665
.L721:
	call	__uflow@PLT
	movq	stdin(%rip), %rdi
	movq	8(%rdi), %rdx
	movq	16(%rdi), %rcx
	jmp	.L691
.L722:
	movq	40(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L730
	addq	$56, %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
.L725:
	.cfi_restore_state
	movl	$10, %esi
	call	__overflow@PLT
	jmp	.L665
.L730:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE57:
	.size	main, .-main
	.globl	try
	.bss
	.align 32
	.type	try, @object
	.size	try, 80
try:
	.zero	80
	.globl	asz
	.align 4
	.type	asz, @object
	.size	asz, 4
asz:
	.zero	4
	.globl	ans
	.align 32
	.type	ans, @object
	.size	ans, 1600
ans:
	.zero	1600
	.globl	f
	.align 32
	.type	f, @object
	.size	f, 402
f:
	.zero	402
	.globl	max
	.align 4
	.type	max, @object
	.size	max, 4
max:
	.zero	4
	.globl	dsz
	.align 4
	.type	dsz, @object
	.size	dsz, 4
dsz:
	.zero	4
	.globl	d
	.align 32
	.type	d, @object
	.size	d, 800
d:
	.zero	800
	.globl	N
	.align 4
	.type	N, @object
	.size	N, 4
N:
	.zero	4
	.ident	"GCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	1f - 0f
	.long	4f - 1f
	.long	5
0:
	.string	"GNU"
1:
	.align 8
	.long	0xc0000002
	.long	3f - 2f
2:
	.long	0x3
3:
	.align 8
4:

// AOJ 1307 Towns along a Highway
// 2019.2.28 bal4u

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

#if 1
#define gc() getchar_unlocked()
#define pc(c) putchar_unlocked(c)
#else
#define gc() getchar()
#define pc(c) putchar(c)
#endif

int in()   // 正整数の入力
{
	int n = 0, c = gc();
	do n = 10 * n + (c & 0xf), c = gc(); while (c >= '0');
	return n;
}

void out(int n)
{
	int i;
	char ob[20];

	i = 0; while (n) ob[i++] = n % 10 + '0', n /= 10;
	while (i--) pc(ob[i]);
}

void outs(char *s) { while (*s) pc(*s++); }
#define ABS(x) ((x)>=0?(x):-(x))

int N;
int d[200], dsz, max;
char f[402];     // 入力した値の個数を記録する
int ans[20][20], asz;
int try[20];     // ansの候補

int check(int id, int val)
{
	int i, k;
	char ff[402];

	memcpy(ff, f, 1+max);
	for (i = 0; i < id; i++) {
		k = ABS(try[i]-val);
		if (ff[k] == 0) return 0;
		ff[k]--;
	}
	return 1;
}

int cmp(const void *a, const void *b) {	return *(int *)a - *(int *)b; }

void combi(int id)
{
	int i, k;
	char ff[402];

	if (id == N) {
		memcpy(ans[asz], try, N * sizeof(int));
		qsort(ans[asz], N, sizeof(int), cmp);
		for (i = 0; ; i++) {
			if (i == asz) { asz++; break; }
			if (!memcmp(ans[i], ans[asz], N * sizeof(int))) break;
		}
		return;
	}

	for (k = max; !f[k]; k--);
	memcpy(ff, f, 1+max);
	if (check(id, max-k)) {
		try[id] = max - k;
		for (i = 0; i < id; i++) f[ABS(try[i] - try[id])]--;
		combi(id + 1);
		memcpy(f, ff, 1+max);
	}

	if (check(id, k)) {
		try[id] = k;
		for (i = 0; i < id; i++) f[ABS(try[i] - try[id])]--;
		combi(id + 1);
		memcpy(f, ff, 1+max);
	}
}

int main()
{
	int i, j;

	while (N = in()) {
		dsz = N * (N - 1) >> 1;
		memset(f, 0, sizeof(f));
		for (i = 0; i < dsz; i++) {
			d[i] = in(), f[d[i]]++;
		}
		if (dsz == 1) out(d[0]), pc('\n');
		else {
			max = d[0];
			try[0] = 0, try[1] = max, f[max]--;  // 最左端と最右端の距離が最大
			asz = 0;
			combi(2);

			// 結果表示
			for (i = 0; i < asz; i++) {
				out(ans[i][1]);
				for (j = 2; j < N; j++) pc(' '), out(ans[i][j] - ans[i][j - 1]);
				pc('\n');
			}
		}
		outs("-----\n");
	}
	return 0;
}


2
1
3
5 3 2
3
6 3 2
5
9 8 7 6 6 4 3 2 2 1
6
9 8 8 7 6 6 5 5 3 3 3 2 2 1 1
6
11 10 9 8 7 6 6 5 5 4 3 2 2 1 1
7
72 65 55 51 48 45 40 38 34 32 27 25 24 23 21 17 14 13 11 10 7
20
190 189 188 187 186 185 184 183 182 181 180 179 178 177 176 175 174 173 172 171
170 169 168 167 166 165 164 163 162 161 160 159 158 157 156 155 154 153 152 151
150 149 148 147 146 145 144 143 142 141 140 139 138 137 136 135 134 133 132 131
130 129 128 127 126 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111
110 109 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91
90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71
70 69 68 67 66 65 64 63 18 61 60 59 58 57 56 55 54 53 52 51
50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31
30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11
10 9 8 7 6 5 4 3 2 1
19
60 59 58 56 53 52 51 50 48 48 47 46 45 45 44 43 43 42 42 41 41 40 40 40
40 40 40 40 39 39 39 38 38 38 37 37 36 36 35 35 34 33 33 32 32 32 31 31
30 30 30 29 28 28 28 28 27 27 26 26 25 25 25 25 24 24 23 23 23 23 22 22
22 22 21 21 21 21 20 20 20 20 20 20 20 20 20 20 20 20 20 19 19 19 19 19
18 18 18 18 18 17 17 17 17 16 16 16 15 15 15 15 14 14 13 13 13 12 12 12
12 12 11 11 11 10 10 10 10 10 9 9 8 8 8 8 8 8 7 7 7 6 6 6 5 5 5 5 5 5 4
4 4 3 3 3 3 3 3 2 2 2 2 2 2 1 1 1 1 1 1
0
 2
1
3
5 3 4
3
6 3 2
5
9 8 7 6 6 4 3 2 2 1
6
9 8 8 7 6 6 5 5 3 3 3 2 2 1 1
6
11 10 9 8 7 6 6 5 5 4 3 2 2 1 1
7
72 65 55 51 48 45 40 38 34 32 27 25 24 23 21 17 14 13 11 10 7
20
190 189 188 187 186 185 184 183 182 181 180 179 178 177 176 175 174 173 172 171
170 169 168 167 166 165 164 163 162 161 160 159 158 157 156 155 154 153 152 151
150 149 148 147 146 145 144 143 142 141 140 139 138 137 136 135 134 133 132 131
130 129 128 127 126 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111
110 109 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91
90 89 88 87 86 85 149 83 82 81 80 79 78 77 76 75 74 73 72 71
70 69 68 67 66 65 64 63 18 61 60 59 58 57 56 55 54 53 52 44
50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31
30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11
10 9 8 7 6 5 4 3 2 1
19
60 59 58 56 53 52 51 50 48 48 47 46 45 45 44 43 43 42 42 41 41 40 40 40
40 40 40 40 39 39 39 38 38 38 37 37 36 36 35 35 34 33 33 32 32 32 31 31
30 30 30 29 28 28 28 28 27 27 26 26 25 25 25 25 24 24 23 23 23 23 22 22
22 22 21 21 21 21 20 20 20 20 20 20 20 20 20 20 20 20 20 19 19 19 19 19
18 18 18 18 18 17 17 17 17 16 16 16 15 15 15 15 14 14 13 13 13 12 12 12
12 12 11 11 11 10 10 10 10 10 9 9 8 8 8 8 8 8 7 7 7 6 6 6 5 5 5 5 5 5 4
4 4 3 3 3 3 3 3 2 2 2 2 2 2 1 1 1 1 1 1
0
 2
1
3
5 3 4
3
6 3 2
5
9 9 7 6 6 4 3 2 2 1
6
9 8 8 7 6 6 5 5 3 3 3 2 2 1 1
6
11 10 9 8 7 6 6 5 5 4 3 2 2 1 1
7
72 65 55 51 48 45 40 38 34 32 27 25 24 23 21 17 14 13 11 10 7
20
190 189 188 187 186 185 280 183 182 181 180 179 178 177 176 175 174 173 172 171
170 169 168 167 166 165 164 163 36 161 160 159 69 157 156 155 154 153 152 151
150 149 148 147 146 145 144 143 142 141 140 139 138 137 136 135 134 133 132 131
130 129 128 127 126 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111
110 109 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91
90 89 88 87 86 85 149 83 82 72 80 79 78 77 76 75 74 73 72 71
70 69 68 67 66 65 64 63 18 61 60 59 58 57 56 55 54 53 52 44
50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31
30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 23 11
10 9 8 7 6 5 4 3 2 1
19
60 59 58 56 53 52 51 50 48 48 47 46 45 45 44 43 43 42 42 41 41 40 40 40
40 40 40 40 39 39 39 38 38 38 37 37 36 36 35 35 34 33 33 32 32 32 31 31
30 30 30 29 28 28 28 28 27 27 26 26 25 25 25 25 24 24 23 23 23 23 22 22
22 22 21 21 21 21 20 20 20 20 20 20 20 20 20 20 20 20 20 19 19 19 19 19
18 18 18 18 18 17 17 17 17 16 16 16 15 15 15 15 14 14 13 13 13 12 12 12
12 12 11 11 11 10 10 10 10 10 9 9 8 8 8 8 8 8 7 7 7 6 6 6 5 5 5 5 5 5 4
4 4 3 3 3 3 3 3 2 2 2 2 2 2 1 1 1 1 1 1
0
 2
1
3
5 3 4
3
6 3 2
5
9 9 7 6 6 4 3 2 2 1
6
9 8 8 7 6 6 5 5 3 3 3 2 2 1 1
6
11 10 9 8 7 6 6 5 5 4 3 2 2 1 1
7
72 65 55 51 48 45 40 38 34 32 27 25 24 23 21 17 14 13 11 10 7
20
190 189 188 187 186 185 280 183 182 181 180 179 178 177 176 175 174 173 172 171
170 169 168 167 166 165 164 163 36 161 160 159 69 157 156 155 154 153 152 151
150 149 148 147 146 145 144 143 142 141 140 139 138 137 136 260 134 133 132 131
130 129 128 127 126 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111
110 109 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91
90 89 88 87 86 85 149 83 82 72 80 79 78 77 76 75 74 73 72 71
70 69 68 67 66 65 64 63 18 61 60 59 58 57 56 55 54 53 52 44
50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31
30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 23 11
10 9 8 7 6 5 4 3 2 1
19
60 59 58 56 53 52 51 50 48 48 47 46 45 45 44 43 43 42 42 41 41 40 40 40
40 40 40 40 39 39 39 38 38 38 37 37 36 36 35 35 34 33 33 32 32 32 31 31
30 30 30 29 28 28 28 28 27 27 26 26 25 25 25 25 24 24 23 23 23 23 22 22
22 22 21 21 21 21 20 20 20 20 20 20 20 20 20 20 20 20 20 19 19 19 19 19
18 18 18 18 18 17 17 17 17 16 16 16 15 15 15 15 14 14 13 13 13 12 12 12
12 12 11 11 11 10 10 10 10 10 9 9 8 8 8 8 8 8 7 7 7 9 6 6 5 5 5 5 5 5 4
4 4 3 3 3 3 3 3 2 2 2 2 2 2 1 1 1 1 1 1
0
 2
1
3
5 3 4
3
6 3 2
5
9 9 7 6 6 4 3 2 2 1
6
9 8 8 7 6 6 1 5 3 3 3 2 2 1 1
6
11 10 9 8 7 6 6 5 5 4 3 2 2 1 1
7
72 65 55 51 48 45 40 38 34 32 27 25 24 23 21 17 14 13 11 10 7
20
190 189 188 187 186 185 280 183 182 181 180 179 178 177 176 175 174 173 172 171
170 169 168 167 166 165 164 163 36 161 160 159 69 157 156 155 154 153 152 151
150 149 148 147 146 145 144 143 142 141 140 139 138 137 136 260 134 133 132 131
130 129 128 127 126 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111
110 109 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91
90 89 88 87 86 85 149 83 82 72 80 79 78 77 76 75 74 73 72 71
70 69 68 67 66 65 64 63 18 61 60 59 58 57 56 55 54 53 52 44
50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31
30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 23 11
10 9 8 7 6 5 4 3 2 1
19
60 59 58 56 53 52 51 50 48 48 47 46 45 45 44 43 43 42 42 41 41 40 40 40
40 40 40 40 39 39 39 38 38 38 37 37 36 36 35 35 34 33 33 32 32 32 31 31
30 30 30 29 28 28 28 28 27 27 26 26 25 25 25 25 24 24 23 23 23 23 22 22
22 22 21 21 21 21 20 20 20 20 20 20 20 20 20 20 20 20 20 19 19 19 19 19
18 18 18 18 18 17 17 17 17 16 16 16 15 15 15 15 14 14 13 13 13 12 12 12
12 12 11 11 11 10 10 10 10 10 9 9 8 8 8 8 8 8 7 7 7 9 6 6 5 5 5 5 5 5 4
4 4 3 3 3 3 3 3 2 2 2 2 2 2 1 1 1 1 1 1
0
 2
1
3
5 3 4
3
6 3 2
5
9 9 7 6 6 4 3 2 2 1
6
9 8 8 7 6 6 1 5 3 3 3 2 2 1 1
6
11 10 9 8 7 6 6 5 5 4 3 2 2 1 1
7
72 65 55 38 48 45 40 38 34 32 27 25 24 23 21 17 14 13 11 10 7
20
190 189 188 187 186 185 280 183 182 181 180 179 178 177 176 175 174 173 172 171
170 169 168 167 166 165 164 163 36 161 160 159 69 157 156 155 154 153 152 151
150 149 148 147 146 145 144 143 142 141 140 139 138 137 136 260 134 133 132 131
130 129 128 127 126 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111
110 109 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91
90 89 88 87 86 85 149 83 82 72 80 79 78 77 76 75 74 73 72 71
70 69 68 67 66 65 64 63 18 61 60 59 58 57 56 55 54 53 52 44
50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31
30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 23 11
10 9 8 7 6 5 4 3 2 1
19
60 59 58 56 53 52 51 50 48 48 47 46 45 45 44 43 43 42 42 41 41 40 40 40
40 40 40 40 39 39 39 38 38 38 37 37 36 36 35 35 34 33 33 32 32 32 31 31
30 30 30 29 28 28 28 28 27 27 26 26 25 25 25 25 24 24 23 23 23 23 22 22
22 22 21 21 21 21 20 20 20 20 20 20 20 20 20 20 20 20 20 19 19 19 19 19
18 18 18 18 18 17 17 17 17 16 16 16 15 15 15 15 14 14 13 13 13 12 12 12
12 12 11 11 11 10 10 10 10 10 9 9 8 8 8 8 8 8 7 7 7 9 6 6 5 5 5 5 5 5 4
4 4 3 3 3 3 3 3 2 2 2 2 2 2 1 1 1 1 1 1
0
 2
1
3
5 3 2
3
6 3 2
5
9 8 7 6 10 4 3 2 2 1
6
9 8 8 7 6 6 5 5 3 3 3 2 2 1 1
6
11 10 9 8 7 6 6 5 5 4 3 2 2 1 1
7
72 65 55 51 48 45 40 38 34 32 27 25 24 23 21 17 14 13 11 10 7
20
190 189 188 187 186 185 184 183 182 181 180 179 178 177 176 175 174 173 172 171
170 169 168 167 166 165 164 163 162 161 160 159 158 157 156 155 154 153 152 151
150 149 148 147 146 145 144 143 142 141 140 139 138 137 136 135 134 133 132 131
130 129 128 127 126 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111
110 109 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91
90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71
70 69 68 67 66 65 64 63 18 61 60 59 58 57 56 55 54 53 52 51
50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31
30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11
10 9 8 7 6 5 4 3 2 1
19
60 59 58 56 53 52 51 50 48 48 47 46 45 45 44 43 43 42 42 41 41 40 40 40
40 40 40 40 39 39 39 38 38 38 37 37 36 36 35 35 34 33 33 32 32 32 31 31
30 30 30 29 28 28 28 28 27 27 26 26 25 25 25 25 24 24 23 23 23 23 22 22
22 22 21 21 21 21 20 20 20 20 20 20 20 20 20 20 20 20 20 19 19 19 19 19
18 18 18 18 18 17 17 17 17 16 16 16 15 15 15 15 14 14 13 13 13 12 12 12
12 12 11 11 11 10 10 10 10 10 9 9 8 8 8 8 8 8 7 7 7 6 6 6 5 5 5 5 5 5 4
4 4 3 3 3 3 3 3 2 2 2 2 2 2 1 1 1 1 1 1
0
 2
1
3
5 3 2
3
6 3 2
5
9 8 7 6 6 4 3 2 2 1
6
9 8 8 7 6 6 5 5 3 3 3 2 2 1 1
6
11 10 9 8 7 6 6 5 5 4 3 2 2 1 1
7
72 65 55 51 48 45 40 38 34 32 27 25 24 23 21 17 14 13 11 10 7
20
190 189 188 187 186 185 184 183 182 181 180 179 178 177 176 175 174 173 172 171
170 169 168 167 166 165 164 163 162 161 160 159 158 157 156 155 154 153 152 151
150 149 148 147 146 145 144 143 142 141 140 139 138 137 136 135 134 133 132 131
130 129 128 127 126 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111
110 109 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91
90 89 88 87 86 85 149 83 82 81 80 79 78 77 76 75 74 73 72 71
70 69 68 67 66 65 64 63 18 61 60 59 58 57 56 55 54 53 52 51
50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31
30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11
10 9 8 7 6 5 4 3 2 1
19
60 59 58 56 53 52 51 50 48 48 47 46 45 45 44 43 43 42 42 41 41 40 40 40
40 40 40 40 39 39 39 38 38 38 37 37 36 36 35 35 34 33 33 32 32 32 31 31
30 30 30 29 28 28 28 28 27 27 26 26 25 25 25 25 26 24 23 23 23 23 22 22
22 22 21 21 21 21 20 20 20 20 20 20 20 20 20 20 20 20 20 19 19 19 19 19
18 18 18 18 18 17 17 17 17 16 16 16 15 15 15 15 14 14 13 13 13 12 12 12
12 12 11 11 11 10 10 10 10 10 9 9 8 8 8 8 8 8 7 7 7 6 6 6 5 5 5 5 5 5 4
4 4 3 3 3 3 3 3 2 2 2 2 2 2 1 1 1 1 1 1
0
 2
1
3
5 3 4
3
6 3 2
5
9 8 7 6 6 4 3 2 2 1
6
9 8 8 7 6 6 5 5 3 3 3 2 2 1 1
6
11 10 9 8 7 6 6 5 5 4 3 2 2 1 1
7
72 65 55 51 48 45 40 38 34 32 27 25 24 23 21 17 14 13 11 10 7
20
190 189 188 187 186 185 184 183 182 181 180 179 178 177 176 175 174 173 172 171
170 169 168 167 166 165 164 163 162 161 160 159 158 157 156 155 154 153 152 151
150 149 148 147 146 145 144 143 142 141 140 139 138 137 136 135 134 133 132 131
130 129 128 127 126 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111
110 109 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91
90 89 88 87 86 85 149 83 82 81 80 79 78 77 76 75 74 73 72 71
70 69 68 67 66 65 64 63 18 61 60 59 58 57 56 55 54 53 52 44
50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31
30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11
10 9 8 7 6 5 4 3 2 1
19
60 59 58 56 53 52 51 50 48 48 47 46 45 45 44 43 43 42 42 41 41 40 40 40
40 40 40 40 39 39 39 38 38 38 37 37 36 36 35 35 34 33 33 32 32 32 31 31
30 30 30 29 28 28 28 28 27 27 26 26 25 25 25 25 24 24 23 23 23 1 22 22
22 22 21 21 21 21 20 20 20 20 20 20 20 20 20 20 20 20 20 19 19 19 19 19
18 18 18 18 18 17 17 17 17 16 16 16 15 15 15 15 14 14 13 13 13 12 12 12
12 12 11 11 11 10 10 10 10 10 9 9 8 8 8 8 8 8 7 7 7 6 6 6 5 5 5 5 5 5 4
4 4 3 3 3 3 3 3 2 2 2 2 2 2 1 1 1 1 1 1
0
 2
1
3
5 3 4
3
6 3 2
5
9 8 7 6 6 4 3 2 2 1
6
9 8 8 7 6 6 5 5 3 3 3 2 2 1 1
6
11 10 9 8 7 6 6 5 5 4 3 2 2 1 1
7
72 65 55 51 48 45 40 38 34 17 27 25 24 23 21 17 14 13 11 10 7
20
190 189 188 187 186 185 280 183 182 181 180 179 178 177 176 175 174 173 172 171
170 169 168 167 166 165 164 163 162 161 160 159 158 157 156 155 154 153 152 151
150 149 148 147 146 145 144 143 142 141 140 139 138 137 136 135 134 133 132 131
130 129 128 127 126 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111
110 109 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91
90 89 88 87 86 85 149 83 82 72 80 79 78 77 76 75 74 73 72 71
70 69 68 67 66 65 64 63 18 61 60 59 58 57 56 55 54 53 52 44
50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31
30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11
10 9 8 7 6 5 4 3 2 1
19
60 59 58 56 53 52 51 50 48 48 47 46 45 45 44 43 43 42 42 41 41 40 40 40
40 40 40 40 39 39 39 38 38 38 37 37 36 36 35 35 34 33 33 32 32 32 31 31
30 30 30 29 28 28 28 28 27 27 26 26 25 25 25 25 24 24 23 23 23 23 22 22
22 22 21 21 21 21 20 20 20 20 20 20 20 20 20 20 20 20 20 19 19 19 19 19
18 18 18 18 18 17 17 17 17 16 16 16 15 15 15 15 14 14 13 13 13 12 12 12
12 12 11 11 11 10 10 10 10 10 9 9 8 8 8 8 8 8 7 7 7 6 6 6 5 5 5 5 5 5 4
4 4 3 3 3 3 3 3 2 2 2 2 2 2 1 1 1 1 1 1
0

1
-----
2 3
3 2
-----
-----
1 2 4 2
2 4 2 1
-----
1 2 3 2 1
-----
1 1 4 2 3
1 5 1 2 2
2 2 1 5 1
3 2 4 1 1
-----
7 14 11 13 10 17
17 10 13 11 14 7
-----
-----
1 1 2 3 5 8 1 1 2 3 5 8 1 1 2 3 5 8
8 5 3 2 1 1 8 5 3 2 1 1 8 5 3 2 1 1
-----
 1
-----
-----
-----
1 2 4 2
2 4 2 1
-----
1 2 3 2 1
-----
1 1 4 2 3
1 5 1 2 2
2 2 1 5 1
3 2 4 1 1
-----
7 14 11 13 10 17
17 10 13 11 14 7
-----
-----
1 1 2 3 5 8 1 1 2 3 5 8 1 1 2 3 5 8
8 5 3 2 1 1 8 5 3 2 1 1 8 5 3 2 1 1
-----
 1
-----
-----
-----
-----
1 2 3 2 1
-----
1 1 4 2 3
1 5 1 2 2
2 2 1 5 1
3 2 4 1 1
-----
7 14 11 13 10 17
17 10 13 11 14 7
-----
-----
1 1 2 3 5 8 1 1 2 3 5 8 1 1 2 3 5 8
8 5 3 2 1 1 8 5 3 2 1 1 8 5 3 2 1 1
-----
 1
-----
-----
-----
-----
1 2 3 2 1
-----
1 1 4 2 3
1 5 1 2 2
2 2 1 5 1
3 2 4 1 1
-----
7 14 11 13 10 17
17 10 13 11 14 7
-----
-----
-----
 1
-----
-----
-----
-----
-----
1 1 4 2 3
1 5 1 2 2
2 2 1 5 1
3 2 4 1 1
-----
7 14 11 13 10 17
17 10 13 11 14 7
-----
-----
-----
 1
-----
-----
-----
-----
-----
1 1 4 2 3
1 5 1 2 2
2 2 1 5 1
3 2 4 1 1
-----
-----
-----
-----
 1
-----
2 3
3 2
-----
-----
-----
1 2 3 2 1
-----
1 1 4 2 3
1 5 1 2 2
2 2 1 5 1
3 2 4 1 1
-----
7 14 11 13 10 17
17 10 13 11 14 7
-----
-----
1 1 2 3 5 8 1 1 2 3 5 8 1 1 2 3 5 8
8 5 3 2 1 1 8 5 3 2 1 1 8 5 3 2 1 1
-----
 1
-----
2 3
3 2
-----
-----
1 2 4 2
2 4 2 1
-----
1 2 3 2 1
-----
1 1 4 2 3
1 5 1 2 2
2 2 1 5 1
3 2 4 1 1
-----
7 14 11 13 10 17
17 10 13 11 14 7
-----
-----
-----
 1
-----
-----
-----
1 2 4 2
2 4 2 1
-----
1 2 3 2 1
-----
1 1 4 2 3
1 5 1 2 2
2 2 1 5 1
3 2 4 1 1
-----
7 14 11 13 10 17
17 10 13 11 14 7
-----
-----
-----
 1
-----
-----
-----
1 2 4 2
2 4 2 1
-----
1 2 3 2 1
-----
1 1 4 2 3
1 5 1 2 2
2 2 1 5 1
3 2 4 1 1
-----
-----
-----
1 1 2 3 5 8 1 1 2 3 5 8 1 1 2 3 5 8
8 5 3 2 1 1 8 5 3 2 1 1 8 5 3 2 1 1
-----

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

```c
// AOJ 1307 Towns along a Highway
// 2019.2.28 bal4u

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

#if 1
#define gc() getchar_unlocked()
#define pc(c) putchar_unlocked(c)
#else
#define gc() getchar()
#define pc(c) putchar(c)
#endif

int in()   // 正整数の入力
{
	int n = 0, c = gc();
	do n = 10 * n + (c & 0xf), c = gc(); while (c >= '0');
	return n;
}

void out(int n)
{
	int i;
	char ob[20];

	i = 0; while (n) ob[i++] = n % 10 + '0', n /= 10;
	while (i--) pc(ob[i]);
}

void outs(char *s) { while (*s) pc(*s++); }
#define ABS(x) ((x)>=0?(x):-(x))

int N;
int d[200], dsz, max;
char f[402];     // 入力した値の個数を記録する
int ans[20][20], asz;
int try[20];     // ansの候補

int check(int id, int val)
{
	int i, k;
	char ff[402];

	memcpy(ff, f, 1+max);
	for (i = 0; i < id; i++) {
		k = ABS(try[i]-val);
		if (ff[k] == 0) return 0;
		ff[k]--;
	}
	return 1;
}

int cmp(const void *a, const void *b) {	return *(int *)a - *(int *)b; }

void combi(int id)
{
	int i, k;
	char ff[402];

	if (id == N) {
		memcpy(ans[asz], try, N * sizeof(int));
		qsort(ans[asz], N, sizeof(int), cmp);
		for (i = 0; ; i++) {
			if (i == asz) { asz++; break; }
			if (!memcmp(ans[i], ans[asz], N * sizeof(int))) break;
		}
		return;
	}

	for (k = max; !f[k]; k--);
	memcpy(ff, f, 1+max);
	if (check(id, max-k)) {
		try[id] = max - k;
		for (i = 0; i < id; i++) f[ABS(try[i] - try[id])]--;
		combi(id + 1);
		memcpy(f, ff, 1+max);
	}

	if (check(id, k)) {
		try[id] = k;
		for (i = 0; i < id; i++) f[ABS(try[i] - try[id])]--;
		combi(id + 1);
		memcpy(f, ff, 1+max);
	}
}

int main()
{
	int i, j;

	while (N = in()) {
		dsz = N * (N - 1) >> 1;
		memset(f, 0, sizeof(f));
		for (i = 0; i < dsz; i++) {
			d[i] = in(), f[d[i]]++;
		}
		if (dsz == 1) out(d[0]), pc('\n');
		else {
			max = d[0];
			try[0] = 0, try[1] = max, f[max]--;  // 最左端と最右端の距離が最大
			asz = 0;
			combi(2);

			// 結果表示
			for (i = 0; i < asz; i++) {
				out(ans[i][1]);
				for (j = 2; j < N; j++) pc(' '), out(ans[i][j] - ans[i][j - 1]);
				pc('\n');
			}
		}
		outs("-----\n");
	}
	return 0;
}

```

Unoptimized Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.globl	in
	.type	in, @function
in:
.LFB6:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$16, %rsp
	movl	$0, -8(%rbp)
	call	getchar_unlocked@PLT
	movl	%eax, -4(%rbp)
.L2:
	movl	-8(%rbp), %edx
	movl	%edx, %eax
	sall	$2, %eax
	addl	%edx, %eax
	addl	%eax, %eax
	movl	%eax, %edx
	movl	-4(%rbp), %eax
	andl	$15, %eax
	addl	%edx, %eax
	movl	%eax, -8(%rbp)
	call	getchar_unlocked@PLT
	movl	%eax, -4(%rbp)
	cmpl	$47, -4(%rbp)
	jg	.L2
	movl	-8(%rbp), %eax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	in, .-in
	.globl	out
	.type	out, @function
out:
.LFB7:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$64, %rsp
	movl	%edi, -52(%rbp)
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movl	$0, -36(%rbp)
	jmp	.L5
.L6:
	movl	-52(%rbp), %edx
	movslq	%edx, %rax
	imulq	$1717986919, %rax, %rax
	shrq	$32, %rax
	sarl	$2, %eax
	movl	%edx, %esi
	sarl	$31, %esi
	subl	%esi, %eax
	movl	%eax, %ecx
	movl	%ecx, %eax
	sall	$2, %eax
	addl	%ecx, %eax
	addl	%eax, %eax
	movl	%edx, %ecx
	subl	%eax, %ecx
	movl	%ecx, %eax
	leal	48(%rax), %ecx
	movl	-36(%rbp), %eax
	leal	1(%rax), %edx
	movl	%edx, -36(%rbp)
	movl	%ecx, %edx
	cltq
	movb	%dl, -32(%rbp,%rax)
	movl	-52(%rbp), %eax
	movslq	%eax, %rdx
	imulq	$1717986919, %rdx, %rdx
	shrq	$32, %rdx
	sarl	$2, %edx
	sarl	$31, %eax
	movl	%eax, %ecx
	movl	%edx, %eax
	subl	%ecx, %eax
	movl	%eax, -52(%rbp)
.L5:
	cmpl	$0, -52(%rbp)
	jne	.L6
	jmp	.L7
.L8:
	movl	-36(%rbp), %eax
	cltq
	movzbl	-32(%rbp,%rax), %eax
	movsbl	%al, %eax
	movl	%eax, %edi
	call	putchar_unlocked@PLT
.L7:
	movl	-36(%rbp), %eax
	leal	-1(%rax), %edx
	movl	%edx, -36(%rbp)
	testl	%eax, %eax
	jne	.L8
	nop
	movq	-8(%rbp), %rax
	subq	%fs:40, %rax
	je	.L9
	call	__stack_chk_fail@PLT
.L9:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	out, .-out
	.globl	outs
	.type	outs, @function
outs:
.LFB8:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$16, %rsp
	movq	%rdi, -8(%rbp)
	jmp	.L11
.L12:
	movq	-8(%rbp), %rax
	leaq	1(%rax), %rdx
	movq	%rdx, -8(%rbp)
	movzbl	(%rax), %eax
	movsbl	%al, %eax
	movl	%eax, %edi
	call	putchar_unlocked@PLT
.L11:
	movq	-8(%rbp), %rax
	movzbl	(%rax), %eax
	testb	%al, %al
	jne	.L12
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	outs, .-outs
	.globl	N
	.bss
	.align 4
	.type	N, @object
	.size	N, 4
N:
	.zero	4
	.globl	d
	.align 32
	.type	d, @object
	.size	d, 800
d:
	.zero	800
	.globl	dsz
	.align 4
	.type	dsz, @object
	.size	dsz, 4
dsz:
	.zero	4
	.globl	max
	.align 4
	.type	max, @object
	.size	max, 4
max:
	.zero	4
	.globl	f
	.align 32
	.type	f, @object
	.size	f, 402
f:
	.zero	402
	.globl	ans
	.align 32
	.type	ans, @object
	.size	ans, 1600
ans:
	.zero	1600
	.globl	asz
	.align 4
	.type	asz, @object
	.size	asz, 4
asz:
	.zero	4
	.globl	try
	.align 32
	.type	try, @object
	.size	try, 80
try:
	.zero	80
	.text
	.globl	check
	.type	check, @function
check:
.LFB9:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$448, %rsp
	movl	%edi, -436(%rbp)
	movl	%esi, -440(%rbp)
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movl	max(%rip), %eax
	addl	$1, %eax
	movslq	%eax, %rdx
	leaq	-416(%rbp), %rax
	leaq	f(%rip), %rcx
	movq	%rcx, %rsi
	movq	%rax, %rdi
	call	memcpy@PLT
	movl	$0, -424(%rbp)
	jmp	.L14
.L17:
	movl	-424(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	try(%rip), %rax
	movl	(%rdx,%rax), %eax
	subl	-440(%rbp), %eax
	movl	%eax, %edx
	negl	%edx
	cmovns	%edx, %eax
	movl	%eax, -420(%rbp)
	movl	-420(%rbp), %eax
	cltq
	movzbl	-416(%rbp,%rax), %eax
	testb	%al, %al
	jne	.L15
	movl	$0, %eax
	jmp	.L18
.L15:
	movl	-420(%rbp), %eax
	cltq
	movzbl	-416(%rbp,%rax), %eax
	subl	$1, %eax
	movl	%eax, %edx
	movl	-420(%rbp), %eax
	cltq
	movb	%dl, -416(%rbp,%rax)
	addl	$1, -424(%rbp)
.L14:
	movl	-424(%rbp), %eax
	cmpl	-436(%rbp), %eax
	jl	.L17
	movl	$1, %eax
.L18:
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L19
	call	__stack_chk_fail@PLT
.L19:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	check, .-check
	.globl	cmp
	.type	cmp, @function
cmp:
.LFB10:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movq	%rdi, -8(%rbp)
	movq	%rsi, -16(%rbp)
	movq	-8(%rbp), %rax
	movl	(%rax), %edx
	movq	-16(%rbp), %rax
	movl	(%rax), %ecx
	movl	%edx, %eax
	subl	%ecx, %eax
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	cmp, .-cmp
	.globl	combi
	.type	combi, @function
combi:
.LFB11:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$448, %rsp
	movl	%edi, -436(%rbp)
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movl	N(%rip), %eax
	cmpl	%eax, -436(%rbp)
	jne	.L23
	movl	N(%rip), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	movl	asz(%rip), %eax
	movslq	%eax, %rcx
	movq	%rcx, %rax
	salq	$2, %rax
	addq	%rcx, %rax
	salq	$4, %rax
	leaq	ans(%rip), %rcx
	addq	%rcx, %rax
	leaq	try(%rip), %rcx
	movq	%rcx, %rsi
	movq	%rax, %rdi
	call	memcpy@PLT
	movl	N(%rip), %eax
	movslq	%eax, %rsi
	movl	asz(%rip), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	salq	$4, %rax
	leaq	ans(%rip), %rdx
	addq	%rdx, %rax
	leaq	cmp(%rip), %rdx
	movq	%rdx, %rcx
	movl	$4, %edx
	movq	%rax, %rdi
	call	qsort@PLT
	movl	$0, -424(%rbp)
.L27:
	movl	asz(%rip), %eax
	cmpl	%eax, -424(%rbp)
	jne	.L24
	movl	asz(%rip), %eax
	addl	$1, %eax
	movl	%eax, asz(%rip)
	jmp	.L22
.L24:
	movl	N(%rip), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	movl	asz(%rip), %eax
	movslq	%eax, %rcx
	movq	%rcx, %rax
	salq	$2, %rax
	addq	%rcx, %rax
	salq	$4, %rax
	leaq	ans(%rip), %rcx
	addq	%rax, %rcx
	movl	-424(%rbp), %eax
	movslq	%eax, %rsi
	movq	%rsi, %rax
	salq	$2, %rax
	addq	%rsi, %rax
	salq	$4, %rax
	leaq	ans(%rip), %rsi
	addq	%rsi, %rax
	movq	%rcx, %rsi
	movq	%rax, %rdi
	call	memcmp@PLT
	testl	%eax, %eax
	je	.L38
	addl	$1, -424(%rbp)
	jmp	.L27
.L23:
	movl	max(%rip), %eax
	movl	%eax, -420(%rbp)
	jmp	.L29
.L30:
	subl	$1, -420(%rbp)
.L29:
	movl	-420(%rbp), %eax
	cltq
	leaq	f(%rip), %rdx
	movzbl	(%rax,%rdx), %eax
	testb	%al, %al
	je	.L30
	movl	max(%rip), %eax
	addl	$1, %eax
	movslq	%eax, %rdx
	leaq	-416(%rbp), %rax
	leaq	f(%rip), %rcx
	movq	%rcx, %rsi
	movq	%rax, %rdi
	call	memcpy@PLT
	movl	max(%rip), %eax
	subl	-420(%rbp), %eax
	movl	%eax, %edx
	movl	-436(%rbp), %eax
	movl	%edx, %esi
	movl	%eax, %edi
	call	check
	testl	%eax, %eax
	je	.L31
	movl	max(%rip), %eax
	subl	-420(%rbp), %eax
	movl	-436(%rbp), %edx
	movslq	%edx, %rdx
	leaq	0(,%rdx,4), %rcx
	leaq	try(%rip), %rdx
	movl	%eax, (%rcx,%rdx)
	movl	$0, -424(%rbp)
	jmp	.L32
.L33:
	movl	-424(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	try(%rip), %rax
	movl	(%rdx,%rax), %eax
	movl	-436(%rbp), %edx
	movslq	%edx, %rdx
	leaq	0(,%rdx,4), %rcx
	leaq	try(%rip), %rdx
	movl	(%rcx,%rdx), %edx
	subl	%edx, %eax
	movl	%eax, %edx
	negl	%edx
	cmovns	%edx, %eax
	movslq	%eax, %rdx
	leaq	f(%rip), %rcx
	movzbl	(%rdx,%rcx), %edx
	subl	$1, %edx
	movl	%edx, %ecx
	cltq
	leaq	f(%rip), %rdx
	movb	%cl, (%rax,%rdx)
	addl	$1, -424(%rbp)
.L32:
	movl	-424(%rbp), %eax
	cmpl	-436(%rbp), %eax
	jl	.L33
	movl	-436(%rbp), %eax
	addl	$1, %eax
	movl	%eax, %edi
	call	combi
	movl	max(%rip), %eax
	addl	$1, %eax
	movslq	%eax, %rdx
	leaq	-416(%rbp), %rax
	movq	%rax, %rsi
	leaq	f(%rip), %rax
	movq	%rax, %rdi
	call	memcpy@PLT
.L31:
	movl	-420(%rbp), %edx
	movl	-436(%rbp), %eax
	movl	%edx, %esi
	movl	%eax, %edi
	call	check
	testl	%eax, %eax
	je	.L22
	movl	-436(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rcx
	leaq	try(%rip), %rdx
	movl	-420(%rbp), %eax
	movl	%eax, (%rcx,%rdx)
	movl	$0, -424(%rbp)
	jmp	.L35
.L36:
	movl	-424(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	try(%rip), %rax
	movl	(%rdx,%rax), %eax
	movl	-436(%rbp), %edx
	movslq	%edx, %rdx
	leaq	0(,%rdx,4), %rcx
	leaq	try(%rip), %rdx
	movl	(%rcx,%rdx), %edx
	subl	%edx, %eax
	movl	%eax, %edx
	negl	%edx
	cmovns	%edx, %eax
	movslq	%eax, %rdx
	leaq	f(%rip), %rcx
	movzbl	(%rdx,%rcx), %edx
	subl	$1, %edx
	movl	%edx, %ecx
	cltq
	leaq	f(%rip), %rdx
	movb	%cl, (%rax,%rdx)
	addl	$1, -424(%rbp)
.L35:
	movl	-424(%rbp), %eax
	cmpl	-436(%rbp), %eax
	jl	.L36
	movl	-436(%rbp), %eax
	addl	$1, %eax
	movl	%eax, %edi
	call	combi
	movl	max(%rip), %eax
	addl	$1, %eax
	movslq	%eax, %rdx
	leaq	-416(%rbp), %rax
	movq	%rax, %rsi
	leaq	f(%rip), %rax
	movq	%rax, %rdi
	call	memcpy@PLT
	jmp	.L22
.L38:
	nop
.L22:
	movq	-8(%rbp), %rax
	subq	%fs:40, %rax
	je	.L37
	call	__stack_chk_fail@PLT
.L37:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	combi, .-combi
	.section	.rodata
.LC0:
	.string	"-----\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB12:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$16, %rsp
	jmp	.L40
.L49:
	movl	N(%rip), %eax
	leal	-1(%rax), %edx
	movl	N(%rip), %eax
	imull	%edx, %eax
	sarl	%eax
	movl	%eax, dsz(%rip)
	movl	$402, %edx
	movl	$0, %esi
	leaq	f(%rip), %rax
	movq	%rax, %rdi
	call	memset@PLT
	movl	$0, -8(%rbp)
	jmp	.L41
.L42:
	movl	$0, %eax
	call	in
	movl	-8(%rbp), %edx
	movslq	%edx, %rdx
	leaq	0(,%rdx,4), %rcx
	leaq	d(%rip), %rdx
	movl	%eax, (%rcx,%rdx)
	movl	-8(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	d(%rip), %rax
	movl	(%rdx,%rax), %eax
	movslq	%eax, %rdx
	leaq	f(%rip), %rcx
	movzbl	(%rdx,%rcx), %edx
	addl	$1, %edx
	movl	%edx, %ecx
	cltq
	leaq	f(%rip), %rdx
	movb	%cl, (%rax,%rdx)
	addl	$1, -8(%rbp)
.L41:
	movl	dsz(%rip), %eax
	cmpl	%eax, -8(%rbp)
	jl	.L42
	movl	dsz(%rip), %eax
	cmpl	$1, %eax
	jne	.L43
	movl	d(%rip), %eax
	movl	%eax, %edi
	call	out
	movl	$10, %edi
	call	putchar_unlocked@PLT
	jmp	.L44
.L43:
	movl	d(%rip), %eax
	movl	%eax, max(%rip)
	movl	$0, try(%rip)
	movl	max(%rip), %eax
	movl	%eax, 4+try(%rip)
	movl	max(%rip), %eax
	movslq	%eax, %rdx
	leaq	f(%rip), %rcx
	movzbl	(%rdx,%rcx), %edx
	subl	$1, %edx
	movl	%edx, %ecx
	cltq
	leaq	f(%rip), %rdx
	movb	%cl, (%rax,%rdx)
	movl	$0, asz(%rip)
	movl	$2, %edi
	call	combi
	movl	$0, -8(%rbp)
	jmp	.L45
.L48:
	movl	-8(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	salq	$4, %rax
	movq	%rax, %rdx
	leaq	4+ans(%rip), %rax
	movl	(%rdx,%rax), %eax
	movl	%eax, %edi
	call	out
	movl	$2, -4(%rbp)
	jmp	.L46
.L47:
	movl	$32, %edi
	call	putchar_unlocked@PLT
	movl	-4(%rbp), %eax
	movslq	%eax, %rcx
	movl	-8(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	salq	$2, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	ans(%rip), %rax
	movl	(%rdx,%rax), %ecx
	movl	-4(%rbp), %eax
	subl	$1, %eax
	movslq	%eax, %rsi
	movl	-8(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	salq	$2, %rax
	addq	%rsi, %rax
	leaq	0(,%rax,4), %rdx
	leaq	ans(%rip), %rax
	movl	(%rdx,%rax), %edx
	movl	%ecx, %eax
	subl	%edx, %eax
	movl	%eax, %edi
	call	out
	addl	$1, -4(%rbp)
.L46:
	movl	N(%rip), %eax
	cmpl	%eax, -4(%rbp)
	jl	.L47
	movl	$10, %edi
	call	putchar_unlocked@PLT
	addl	$1, -8(%rbp)
.L45:
	movl	asz(%rip), %eax
	cmpl	%eax, -8(%rbp)
	jl	.L48
.L44:
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	call	outs
.L40:
	movl	$0, %eax
	call	in
	movl	%eax, N(%rip)
	movl	N(%rip), %eax
	testl	%eax, %eax
	jne	.L49
	movl	$0, %eax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	main, .-main
	.ident	"GCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	1f - 0f
	.long	4f - 1f
	.long	5
0:
	.string	"GNU"
1:
	.align 8
	.long	0xc0000002
	.long	3f - 2f
2:
	.long	0x3
3:
	.align 8
4:
```

Only output the optimized assembly code. Do not include any other text. Do not write any comments in the assembly code. Wrap the assembly code in ```assembly``` tags.
train
	.file	"temp.c"
	.text
	.globl	in
	.type	in, @function
in:
.LFB6:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$16, %rsp
	movl	$0, -8(%rbp)
	call	getchar_unlocked@PLT
	movl	%eax, -4(%rbp)
.L2:
	movl	-8(%rbp), %edx
	movl	%edx, %eax
	sall	$2, %eax
	addl	%edx, %eax
	addl	%eax, %eax
	movl	%eax, %edx
	movl	-4(%rbp), %eax
	andl	$15, %eax
	addl	%edx, %eax
	movl	%eax, -8(%rbp)
	call	getchar_unlocked@PLT
	movl	%eax, -4(%rbp)
	cmpl	$47, -4(%rbp)
	jg	.L2
	movl	-8(%rbp), %eax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	in, .-in
	.globl	out
	.type	out, @function
out:
.LFB7:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$64, %rsp
	movl	%edi, -52(%rbp)
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movl	$0, -36(%rbp)
	jmp	.L5
.L6:
	movl	-52(%rbp), %edx
	movslq	%edx, %rax
	imulq	$1717986919, %rax, %rax
	shrq	$32, %rax
	sarl	$2, %eax
	movl	%edx, %esi
	sarl	$31, %esi
	subl	%esi, %eax
	movl	%eax, %ecx
	movl	%ecx, %eax
	sall	$2, %eax
	addl	%ecx, %eax
	addl	%eax, %eax
	movl	%edx, %ecx
	subl	%eax, %ecx
	movl	%ecx, %eax
	leal	48(%rax), %ecx
	movl	-36(%rbp), %eax
	leal	1(%rax), %edx
	movl	%edx, -36(%rbp)
	movl	%ecx, %edx
	cltq
	movb	%dl, -32(%rbp,%rax)
	movl	-52(%rbp), %eax
	movslq	%eax, %rdx
	imulq	$1717986919, %rdx, %rdx
	shrq	$32, %rdx
	sarl	$2, %edx
	sarl	$31, %eax
	movl	%eax, %ecx
	movl	%edx, %eax
	subl	%ecx, %eax
	movl	%eax, -52(%rbp)
.L5:
	cmpl	$0, -52(%rbp)
	jne	.L6
	jmp	.L7
.L8:
	movl	-36(%rbp), %eax
	cltq
	movzbl	-32(%rbp,%rax), %eax
	movsbl	%al, %eax
	movl	%eax, %edi
	call	putchar_unlocked@PLT
.L7:
	movl	-36(%rbp), %eax
	leal	-1(%rax), %edx
	movl	%edx, -36(%rbp)
	testl	%eax, %eax
	jne	.L8
	nop
	movq	-8(%rbp), %rax
	subq	%fs:40, %rax
	je	.L9
	call	__stack_chk_fail@PLT
.L9:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	out, .-out
	.globl	outs
	.type	outs, @function
outs:
.LFB8:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$16, %rsp
	movq	%rdi, -8(%rbp)
	jmp	.L11
.L12:
	movq	-8(%rbp), %rax
	leaq	1(%rax), %rdx
	movq	%rdx, -8(%rbp)
	movzbl	(%rax), %eax
	movsbl	%al, %eax
	movl	%eax, %edi
	call	putchar_unlocked@PLT
.L11:
	movq	-8(%rbp), %rax
	movzbl	(%rax), %eax
	testb	%al, %al
	jne	.L12
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	outs, .-outs
	.globl	N
	.bss
	.align 4
	.type	N, @object
	.size	N, 4
N:
	.zero	4
	.globl	d
	.align 32
	.type	d, @object
	.size	d, 800
d:
	.zero	800
	.globl	dsz
	.align 4
	.type	dsz, @object
	.size	dsz, 4
dsz:
	.zero	4
	.globl	max
	.align 4
	.type	max, @object
	.size	max, 4
max:
	.zero	4
	.globl	f
	.align 32
	.type	f, @object
	.size	f, 402
f:
	.zero	402
	.globl	ans
	.align 32
	.type	ans, @object
	.size	ans, 1600
ans:
	.zero	1600
	.globl	asz
	.align 4
	.type	asz, @object
	.size	asz, 4
asz:
	.zero	4
	.globl	try
	.align 32
	.type	try, @object
	.size	try, 80
try:
	.zero	80
	.text
	.globl	check
	.type	check, @function
check:
.LFB9:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$448, %rsp
	movl	%edi, -436(%rbp)
	movl	%esi, -440(%rbp)
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movl	max(%rip), %eax
	addl	$1, %eax
	movslq	%eax, %rdx
	leaq	-416(%rbp), %rax
	leaq	f(%rip), %rcx
	movq	%rcx, %rsi
	movq	%rax, %rdi
	call	memcpy@PLT
	movl	$0, -424(%rbp)
	jmp	.L14
.L17:
	movl	-424(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	try(%rip), %rax
	movl	(%rdx,%rax), %eax
	subl	-440(%rbp), %eax
	movl	%eax, %edx
	negl	%edx
	cmovns	%edx, %eax
	movl	%eax, -420(%rbp)
	movl	-420(%rbp), %eax
	cltq
	movzbl	-416(%rbp,%rax), %eax
	testb	%al, %al
	jne	.L15
	movl	$0, %eax
	jmp	.L18
.L15:
	movl	-420(%rbp), %eax
	cltq
	movzbl	-416(%rbp,%rax), %eax
	subl	$1, %eax
	movl	%eax, %edx
	movl	-420(%rbp), %eax
	cltq
	movb	%dl, -416(%rbp,%rax)
	addl	$1, -424(%rbp)
.L14:
	movl	-424(%rbp), %eax
	cmpl	-436(%rbp), %eax
	jl	.L17
	movl	$1, %eax
.L18:
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L19
	call	__stack_chk_fail@PLT
.L19:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	check, .-check
	.globl	cmp
	.type	cmp, @function
cmp:
.LFB10:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movq	%rdi, -8(%rbp)
	movq	%rsi, -16(%rbp)
	movq	-8(%rbp), %rax
	movl	(%rax), %edx
	movq	-16(%rbp), %rax
	movl	(%rax), %ecx
	movl	%edx, %eax
	subl	%ecx, %eax
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	cmp, .-cmp
	.globl	combi
	.type	combi, @function
combi:
.LFB11:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$448, %rsp
	movl	%edi, -436(%rbp)
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movl	N(%rip), %eax
	cmpl	%eax, -436(%rbp)
	jne	.L23
	movl	N(%rip), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	movl	asz(%rip), %eax
	movslq	%eax, %rcx
	movq	%rcx, %rax
	salq	$2, %rax
	addq	%rcx, %rax
	salq	$4, %rax
	leaq	ans(%rip), %rcx
	addq	%rcx, %rax
	leaq	try(%rip), %rcx
	movq	%rcx, %rsi
	movq	%rax, %rdi
	call	memcpy@PLT
	movl	N(%rip), %eax
	movslq	%eax, %rsi
	movl	asz(%rip), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	salq	$4, %rax
	leaq	ans(%rip), %rdx
	addq	%rdx, %rax
	leaq	cmp(%rip), %rdx
	movq	%rdx, %rcx
	movl	$4, %edx
	movq	%rax, %rdi
	call	qsort@PLT
	movl	$0, -424(%rbp)
.L27:
	movl	asz(%rip), %eax
	cmpl	%eax, -424(%rbp)
	jne	.L24
	movl	asz(%rip), %eax
	addl	$1, %eax
	movl	%eax, asz(%rip)
	jmp	.L22
.L24:
	movl	N(%rip), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	movl	asz(%rip), %eax
	movslq	%eax, %rcx
	movq	%rcx, %rax
	salq	$2, %rax
	addq	%rcx, %rax
	salq	$4, %rax
	leaq	ans(%rip), %rcx
	addq	%rax, %rcx
	movl	-424(%rbp), %eax
	movslq	%eax, %rsi
	movq	%rsi, %rax
	salq	$2, %rax
	addq	%rsi, %rax
	salq	$4, %rax
	leaq	ans(%rip), %rsi
	addq	%rsi, %rax
	movq	%rcx, %rsi
	movq	%rax, %rdi
	call	memcmp@PLT
	testl	%eax, %eax
	je	.L38
	addl	$1, -424(%rbp)
	jmp	.L27
.L23:
	movl	max(%rip), %eax
	movl	%eax, -420(%rbp)
	jmp	.L29
.L30:
	subl	$1, -420(%rbp)
.L29:
	movl	-420(%rbp), %eax
	cltq
	leaq	f(%rip), %rdx
	movzbl	(%rax,%rdx), %eax
	testb	%al, %al
	je	.L30
	movl	max(%rip), %eax
	addl	$1, %eax
	movslq	%eax, %rdx
	leaq	-416(%rbp), %rax
	leaq	f(%rip), %rcx
	movq	%rcx, %rsi
	movq	%rax, %rdi
	call	memcpy@PLT
	movl	max(%rip), %eax
	subl	-420(%rbp), %eax
	movl	%eax, %edx
	movl	-436(%rbp), %eax
	movl	%edx, %esi
	movl	%eax, %edi
	call	check
	testl	%eax, %eax
	je	.L31
	movl	max(%rip), %eax
	subl	-420(%rbp), %eax
	movl	-436(%rbp), %edx
	movslq	%edx, %rdx
	leaq	0(,%rdx,4), %rcx
	leaq	try(%rip), %rdx
	movl	%eax, (%rcx,%rdx)
	movl	$0, -424(%rbp)
	jmp	.L32
.L33:
	movl	-424(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	try(%rip), %rax
	movl	(%rdx,%rax), %eax
	movl	-436(%rbp), %edx
	movslq	%edx, %rdx
	leaq	0(,%rdx,4), %rcx
	leaq	try(%rip), %rdx
	movl	(%rcx,%rdx), %edx
	subl	%edx, %eax
	movl	%eax, %edx
	negl	%edx
	cmovns	%edx, %eax
	movslq	%eax, %rdx
	leaq	f(%rip), %rcx
	movzbl	(%rdx,%rcx), %edx
	subl	$1, %edx
	movl	%edx, %ecx
	cltq
	leaq	f(%rip), %rdx
	movb	%cl, (%rax,%rdx)
	addl	$1, -424(%rbp)
.L32:
	movl	-424(%rbp), %eax
	cmpl	-436(%rbp), %eax
	jl	.L33
	movl	-436(%rbp), %eax
	addl	$1, %eax
	movl	%eax, %edi
	call	combi
	movl	max(%rip), %eax
	addl	$1, %eax
	movslq	%eax, %rdx
	leaq	-416(%rbp), %rax
	movq	%rax, %rsi
	leaq	f(%rip), %rax
	movq	%rax, %rdi
	call	memcpy@PLT
.L31:
	movl	-420(%rbp), %edx
	movl	-436(%rbp), %eax
	movl	%edx, %esi
	movl	%eax, %edi
	call	check
	testl	%eax, %eax
	je	.L22
	movl	-436(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rcx
	leaq	try(%rip), %rdx
	movl	-420(%rbp), %eax
	movl	%eax, (%rcx,%rdx)
	movl	$0, -424(%rbp)
	jmp	.L35
.L36:
	movl	-424(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	try(%rip), %rax
	movl	(%rdx,%rax), %eax
	movl	-436(%rbp), %edx
	movslq	%edx, %rdx
	leaq	0(,%rdx,4), %rcx
	leaq	try(%rip), %rdx
	movl	(%rcx,%rdx), %edx
	subl	%edx, %eax
	movl	%eax, %edx
	negl	%edx
	cmovns	%edx, %eax
	movslq	%eax, %rdx
	leaq	f(%rip), %rcx
	movzbl	(%rdx,%rcx), %edx
	subl	$1, %edx
	movl	%edx, %ecx
	cltq
	leaq	f(%rip), %rdx
	movb	%cl, (%rax,%rdx)
	addl	$1, -424(%rbp)
.L35:
	movl	-424(%rbp), %eax
	cmpl	-436(%rbp), %eax
	jl	.L36
	movl	-436(%rbp), %eax
	addl	$1, %eax
	movl	%eax, %edi
	call	combi
	movl	max(%rip), %eax
	addl	$1, %eax
	movslq	%eax, %rdx
	leaq	-416(%rbp), %rax
	movq	%rax, %rsi
	leaq	f(%rip), %rax
	movq	%rax, %rdi
	call	memcpy@PLT
	jmp	.L22
.L38:
	nop
.L22:
	movq	-8(%rbp), %rax
	subq	%fs:40, %rax
	je	.L37
	call	__stack_chk_fail@PLT
.L37:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	combi, .-combi
	.section	.rodata
.LC0:
	.string	"-----\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB12:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$16, %rsp
	jmp	.L40
.L49:
	movl	N(%rip), %eax
	leal	-1(%rax), %edx
	movl	N(%rip), %eax
	imull	%edx, %eax
	sarl	%eax
	movl	%eax, dsz(%rip)
	movl	$402, %edx
	movl	$0, %esi
	leaq	f(%rip), %rax
	movq	%rax, %rdi
	call	memset@PLT
	movl	$0, -8(%rbp)
	jmp	.L41
.L42:
	movl	$0, %eax
	call	in
	movl	-8(%rbp), %edx
	movslq	%edx, %rdx
	leaq	0(,%rdx,4), %rcx
	leaq	d(%rip), %rdx
	movl	%eax, (%rcx,%rdx)
	movl	-8(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	d(%rip), %rax
	movl	(%rdx,%rax), %eax
	movslq	%eax, %rdx
	leaq	f(%rip), %rcx
	movzbl	(%rdx,%rcx), %edx
	addl	$1, %edx
	movl	%edx, %ecx
	cltq
	leaq	f(%rip), %rdx
	movb	%cl, (%rax,%rdx)
	addl	$1, -8(%rbp)
.L41:
	movl	dsz(%rip), %eax
	cmpl	%eax, -8(%rbp)
	jl	.L42
	movl	dsz(%rip), %eax
	cmpl	$1, %eax
	jne	.L43
	movl	d(%rip), %eax
	movl	%eax, %edi
	call	out
	movl	$10, %edi
	call	putchar_unlocked@PLT
	jmp	.L44
.L43:
	movl	d(%rip), %eax
	movl	%eax, max(%rip)
	movl	$0, try(%rip)
	movl	max(%rip), %eax
	movl	%eax, 4+try(%rip)
	movl	max(%rip), %eax
	movslq	%eax, %rdx
	leaq	f(%rip), %rcx
	movzbl	(%rdx,%rcx), %edx
	subl	$1, %edx
	movl	%edx, %ecx
	cltq
	leaq	f(%rip), %rdx
	movb	%cl, (%rax,%rdx)
	movl	$0, asz(%rip)
	movl	$2, %edi
	call	combi
	movl	$0, -8(%rbp)
	jmp	.L45
.L48:
	movl	-8(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	salq	$4, %rax
	movq	%rax, %rdx
	leaq	4+ans(%rip), %rax
	movl	(%rdx,%rax), %eax
	movl	%eax, %edi
	call	out
	movl	$2, -4(%rbp)
	jmp	.L46
.L47:
	movl	$32, %edi
	call	putchar_unlocked@PLT
	movl	-4(%rbp), %eax
	movslq	%eax, %rcx
	movl	-8(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	salq	$2, %rax
	addq	%rcx, %rax
	leaq	0(,%rax,4), %rdx
	leaq	ans(%rip), %rax
	movl	(%rdx,%rax), %ecx
	movl	-4(%rbp), %eax
	subl	$1, %eax
	movslq	%eax, %rsi
	movl	-8(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$2, %rax
	addq	%rdx, %rax
	salq	$2, %rax
	addq	%rsi, %rax
	leaq	0(,%rax,4), %rdx
	leaq	ans(%rip), %rax
	movl	(%rdx,%rax), %edx
	movl	%ecx, %eax
	subl	%edx, %eax
	movl	%eax, %edi
	call	out
	addl	$1, -4(%rbp)
.L46:
	movl	N(%rip), %eax
	cmpl	%eax, -4(%rbp)
	jl	.L47
	movl	$10, %edi
	call	putchar_unlocked@PLT
	addl	$1, -8(%rbp)
.L45:
	movl	asz(%rip), %eax
	cmpl	%eax, -8(%rbp)
	jl	.L48
.L44:
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	call	outs
.L40:
	movl	$0, %eax
	call	in
	movl	%eax, N(%rip)
	movl	N(%rip), %eax
	testl	%eax, %eax
	jne	.L49
	movl	$0, %eax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.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:
