	.file	"382583.c"
	.intel_syntax noprefix
	.text
	.globl	S
	.bss
	.align 32
	.type	S, @object
	.size	S, 27888
S:
	.zero	27888
	.globl	I
	.align 4
	.type	I, @object
	.size	I, 4
I:
	.zero	4
	.globl	l
	.align 4
	.type	l, @object
	.size	l, 4
l:
	.zero	4
	.globl	l0
	.align 4
	.type	l0, @object
	.size	l0, 4
l0:
	.zero	4
	.globl	o
	.align 4
	.type	o, @object
	.size	o, 4
o:
	.zero	4
	.globl	C
	.align 4
	.type	C, @object
	.size	C, 4
C:
	.zero	4
	.globl	O
	.align 4
	.type	O, @object
	.size	O, 4
O:
	.zero	4
	.globl	w
	.align 4
	.type	w, @object
	.size	w, 4
w:
	.zero	4
	.globl	c
	.align 32
	.type	c, @object
	.size	c, 40
c:
	.zero	40
	.globl	L
	.align 4
	.type	L, @object
	.size	L, 4
L:
	.zero	4
	.globl	i
	.align 8
	.type	i, @object
	.size	i, 8
i:
	.zero	8
	.globl	z
	.data
	.align 16
	.type	z, @object
	.size	z, 24
z:
	.string	"\007      &       &      \n"
	.section	.rodata
.LC2:
	.string	"\n"
.LC3:
	.string	"| "
.LC4:
	.string	""
.LC5:
	.string	"%c %s"
.LC6:
	.string	"!!! row %i\n"
.LC7:
	.string	"!!! col %i\n"
.LC8:
	.string	"!!! box %i\n"
.LC9:
	.string	"!!!  %i\n"
.LC10:
	.string	"Done"
.LC11:
	.string	"No way!"
.LC12:
	.string	"\n%s (stk %i %i)\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	QWORD PTR -16[rbp], rsi
	mov	DWORD PTR S[rip+332], 0
	cmp	DWORD PTR -4[rbp], 1
	jle	.L2
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 85
	je	.L3
	mov	eax, 1
	jmp	.L5
.L3:
	mov	eax, 6
	jmp	.L5
.L2:
	mov	eax, 0
.L5:
	mov	DWORD PTR L[rip], eax
	mov	eax, DWORD PTR L[rip]
	and	eax, 1
	test	eax, eax
	je	.L6
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	atol@PLT
	jmp	.L7
.L6:
	mov	eax, 123
.L7:
	mov	QWORD PTR i[rip], rax
	mov	DWORD PTR C[rip], 0
	mov	eax, DWORD PTR C[rip]
	mov	DWORD PTR l[rip], eax
	jmp	.L8
.L26:
	mov	eax, DWORD PTR L[rip]
	and	eax, 1
	test	eax, eax
	jne	.L9
	call	getchar@PLT
	xor	eax, 48
	jmp	.L10
.L9:
	mov	eax, 0
.L10:
	mov	DWORD PTR I[rip], eax
	mov	rax, QWORD PTR i[rip]
	imul	rax, rax, 1103515245
	add	rax, 12345
	and	eax, 2147483647
	mov	QWORD PTR i[rip], rax
	mov	eax, DWORD PTR I[rip]
	cmp	eax, 30
	je	.L11
	mov	eax, DWORD PTR I[rip]
	jmp	.L12
.L11:
	mov	eax, 0
.L12:
	mov	DWORD PTR I[rip], eax
	mov	eax, DWORD PTR I[rip]
	cmp	eax, 9
	jg	.L8
	mov	eax, DWORD PTR C[rip]
	cmp	eax, 21
	jg	.L13
	mov	eax, DWORD PTR C[rip]
	lea	edx, 1[rax]
	mov	DWORD PTR C[rip], edx
	movsx	rdx, eax
	lea	rcx, z[rip]
	movzx	edx, BYTE PTR [rdx+rcx]
	mov	ecx, edx
	xor	ecx, 13
	cdqe
	lea	rdx, z[rip]
	mov	BYTE PTR [rax+rdx], cl
.L13:
	mov	eax, DWORD PTR I[rip]
	test	eax, eax
	je	.L14
	mov	eax, DWORD PTR I[rip]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, DWORD PTR I[rip]
	sal	eax, 10
	mov	ecx, edx
	or	ecx, eax
	jmp	.L15
.L14:
	mov	ecx, 1022
.L15:
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rsi, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rsi
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	DWORD PTR [rdx+rax], ecx
	mov	eax, DWORD PTR l[rip]
	add	eax, 1
	mov	DWORD PTR l[rip], eax
	mov	edx, DWORD PTR l[rip]
	movsx	rax, edx
	imul	rax, rax, 1431655766
	shr	rax, 32
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	add	ecx, ecx
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	test	eax, eax
	jne	.L16
	mov	edx, DWORD PTR l[rip]
	movsx	rax, edx
	imul	rax, rax, 954437177
	shr	rax, 32
	sar	eax
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 3
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	test	eax, eax
	jne	.L17
	mov	ecx, DWORD PTR l[rip]
	movsx	rax, ecx
	imul	rax, rax, 1272582903
	shr	rax, 32
	sar	eax, 3
	mov	esi, ecx
	sar	esi, 31
	sub	eax, esi
	mov	edx, eax
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	lea	edx, 0[0+rax*8]
	add	eax, edx
	sub	ecx, eax
	mov	edx, ecx
	test	edx, edx
	jne	.L18
	mov	ecx, DWORD PTR l[rip]
	movsx	rax, ecx
	imul	rax, rax, 424194301
	shr	rax, 32
	sar	eax, 3
	mov	esi, ecx
	sar	esi, 31
	sub	eax, esi
	mov	edx, eax
	mov	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*8]
	add	eax, edx
	sub	ecx, eax
	mov	edx, ecx
	test	edx, edx
	je	.L19
	lea	rax, z[rip]
	jmp	.L23
.L19:
	lea	rax, .LC2[rip]
	jmp	.L23
.L18:
	lea	rax, .LC2[rip]
	jmp	.L23
.L17:
	lea	rax, .LC3[rip]
	jmp	.L23
.L16:
	lea	rax, .LC4[rip]
.L23:
	mov	edx, DWORD PTR I[rip]
	test	edx, edx
	je	.L24
	mov	edx, DWORD PTR I[rip]
	mov	ecx, edx
	or	ecx, 48
	jmp	.L25
.L24:
	mov	ecx, 46
.L25:
	mov	rdx, rax
	mov	esi, ecx
	lea	rdi, .LC5[rip]
	mov	eax, 0
	call	printf@PLT
.L8:
	mov	eax, DWORD PTR l[rip]
	cmp	eax, 80
	jle	.L26
.L279:
	nop
.L27:
	mov	DWORD PTR l[rip], 0
	jmp	.L28
.L31:
	mov	eax, 114
	test	al, al
	je	.L29
	mov	ecx, 1022
	jmp	.L30
.L29:
	mov	ecx, -1
.L30:
	mov	eax, DWORD PTR l[rip]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	DWORD PTR [rdx+rax], ecx
	mov	eax, DWORD PTR l[rip]
	add	eax, 1
	mov	DWORD PTR l[rip], eax
.L28:
	mov	eax, DWORD PTR l[rip]
	cmp	eax, 8
	jle	.L31
	mov	DWORD PTR l[rip], 0
	jmp	.L32
.L42:
	mov	eax, 114
	test	al, al
	je	.L33
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	ecx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR l[rip]
	movsx	rdx, eax
	imul	rdx, rdx, 954437177
	shr	rdx, 32
	sar	edx
	sar	eax, 31
	mov	esi, eax
	mov	eax, edx
	sub	eax, esi
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	eax, DWORD PTR [rdx+rax]
	and	eax, ecx
	test	eax, eax
	jne	.L34
	mov	eax, DWORD PTR O[rip]
	test	eax, eax
	jne	.L280
	mov	eax, DWORD PTR l[rip]
	movsx	rdx, eax
	imul	rdx, rdx, 954437177
	shr	rdx, 32
	sar	edx
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	add	eax, 1
	mov	esi, eax
	lea	rdi, .LC6[rip]
	mov	eax, 0
	call	printf@PLT
	test	eax, eax
	jmp	.L280
.L34:
	mov	eax, DWORD PTR l[rip]
	movsx	rdx, eax
	imul	rdx, rdx, 954437177
	shr	rdx, 32
	sar	edx
	sar	eax, 31
	mov	esi, edx
	sub	esi, eax
	movsx	rax, esi
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	edi, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	eax, DWORD PTR [rdx+rax]
	sar	eax, 10
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	not	eax
	and	edi, eax
	mov	ecx, edi
	movsx	rax, esi
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	DWORD PTR [rdx+rax], ecx
	jmp	.L39
.L33:
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR l0[rip]
	mov	ecx, eax
	sar	edx, cl
	mov	eax, edx
	and	eax, 1
	test	eax, eax
	je	.L39
	mov	eax, DWORD PTR l[rip]
	movsx	rdx, eax
	imul	rdx, rdx, 954437177
	shr	rdx, 32
	sar	edx
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cmp	eax, -1
	jne	.L40
	mov	edx, DWORD PTR l[rip]
	jmp	.L41
.L40:
	mov	edx, -2
.L41:
	mov	eax, DWORD PTR l[rip]
	movsx	rcx, eax
	imul	rcx, rcx, 954437177
	shr	rcx, 32
	sar	ecx
	sar	eax, 31
	mov	esi, eax
	mov	eax, ecx
	sub	eax, esi
	cdqe
	lea	rcx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	DWORD PTR [rcx+rax], edx
.L39:
	mov	eax, DWORD PTR l[rip]
	add	eax, 1
	mov	DWORD PTR l[rip], eax
.L32:
	mov	eax, DWORD PTR l[rip]
	cmp	eax, 80
	jle	.L42
	mov	eax, 114
	test	al, al
	je	.L43
	mov	DWORD PTR l[rip], 0
	jmp	.L44
.L52:
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	eax, DWORD PTR [rdx+rax]
	sar	eax, 10
	test	eax, eax
	jne	.L47
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	edi, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR l[rip]
	movsx	rdx, eax
	imul	rdx, rdx, 954437177
	shr	rdx, 32
	sar	edx
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	ecx, DWORD PTR O[rip]
	mov	esi, DWORD PTR l[rip]
	and	edi, eax
	movsx	r8, esi
	movsx	rdx, ecx
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, r8
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	DWORD PTR [rdx+rax], edi
	movsx	rsi, esi
	movsx	rdx, ecx
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rsi
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
.L47:
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	jne	.L48
	mov	eax, DWORD PTR O[rip]
	test	eax, eax
	jne	.L281
	mov	eax, DWORD PTR l[rip]
	movsx	rdx, eax
	imul	rdx, rdx, 954437177
	shr	rdx, 32
	sar	edx
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	add	eax, 1
	mov	esi, eax
	lea	rdi, .LC6[rip]
	mov	eax, 0
	call	printf@PLT
	test	eax, eax
	jmp	.L281
.L48:
	mov	eax, DWORD PTR l[rip]
	add	eax, 1
	mov	DWORD PTR l[rip], eax
.L44:
	mov	eax, DWORD PTR l[rip]
	cmp	eax, 80
	jle	.L52
	jmp	.L53
.L43:
	mov	DWORD PTR l[rip], 0
	jmp	.L54
.L60:
	mov	eax, DWORD PTR l[rip]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	js	.L282
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	lea	rdx, c[rip]
	mov	edx, DWORD PTR [rcx+rdx]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	eax, DWORD PTR [rdx+rax]
	sar	eax, 10
	test	eax, eax
	jne	.L282
	mov	eax, DWORD PTR l0[rip]
	test	eax, eax
	je	.L56
	mov	eax, DWORD PTR l0[rip]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, DWORD PTR l0[rip]
	sal	eax, 10
	mov	ecx, edx
	or	ecx, eax
	jmp	.L57
.L56:
	mov	ecx, 1022
.L57:
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rdx, edx
	lea	rsi, 0[0+rdx*4]
	lea	rdx, c[rip]
	mov	edx, DWORD PTR [rsi+rdx]
	movsx	rsi, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rsi
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	DWORD PTR [rdx+rax], ecx
	mov	eax, DWORD PTR C[rip]
	lea	edx, 1[rax]
	mov	DWORD PTR C[rip], edx
	test	eax, eax
.L282:
	nop
	mov	eax, DWORD PTR l[rip]
	add	eax, 1
	mov	DWORD PTR l[rip], eax
.L54:
	mov	eax, DWORD PTR l[rip]
	cmp	eax, 8
	jle	.L60
.L53:
	mov	DWORD PTR l[rip], 0
	jmp	.L61
.L64:
	mov	eax, 99
	test	al, al
	je	.L62
	mov	ecx, 1022
	jmp	.L63
.L62:
	mov	ecx, -1
.L63:
	mov	eax, DWORD PTR l[rip]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	DWORD PTR [rdx+rax], ecx
	mov	eax, DWORD PTR l[rip]
	add	eax, 1
	mov	DWORD PTR l[rip], eax
.L61:
	mov	eax, DWORD PTR l[rip]
	cmp	eax, 8
	jle	.L64
	mov	DWORD PTR l[rip], 0
	jmp	.L65
.L74:
	mov	eax, 99
	test	al, al
	je	.L66
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	esi, DWORD PTR [rdx+rax]
	mov	edx, DWORD PTR l[rip]
	movsx	rax, edx
	imul	rax, rax, 954437177
	shr	rax, 32
	sar	eax
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 3
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	eax, DWORD PTR [rdx+rax]
	and	eax, esi
	test	eax, eax
	jne	.L67
	mov	eax, DWORD PTR O[rip]
	test	eax, eax
	jne	.L283
	mov	edx, DWORD PTR l[rip]
	movsx	rax, edx
	imul	rax, rax, 954437177
	shr	rax, 32
	sar	eax
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 3
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	add	eax, 1
	mov	esi, eax
	lea	rdi, .LC7[rip]
	mov	eax, 0
	call	printf@PLT
	test	eax, eax
	jmp	.L283
.L67:
	mov	eax, DWORD PTR l[rip]
	movsx	rdx, eax
	imul	rdx, rdx, 954437177
	shr	rdx, 32
	sar	edx
	mov	ecx, eax
	sar	ecx, 31
	sub	edx, ecx
	mov	ecx, edx
	sal	ecx, 3
	add	ecx, edx
	sub	eax, ecx
	mov	edx, eax
	movsx	rax, edx
	lea	rcx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	esi, DWORD PTR [rcx+rax]
	mov	eax, DWORD PTR O[rip]
	mov	ecx, DWORD PTR l[rip]
	movsx	rdi, ecx
	movsx	rcx, eax
	mov	rax, rcx
	sal	rax, 2
	add	rax, rcx
	sal	rax, 2
	add	rax, rcx
	sal	rax, 2
	add	rax, rdi
	lea	rcx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	eax, DWORD PTR [rcx+rax]
	sar	eax, 10
	mov	edi, 1
	mov	ecx, eax
	sal	edi, cl
	mov	eax, edi
	not	eax
	and	esi, eax
	mov	ecx, esi
	movsx	rax, edx
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	DWORD PTR [rdx+rax], ecx
	jmp	.L71
.L66:
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR l0[rip]
	mov	ecx, eax
	sar	edx, cl
	mov	eax, edx
	and	eax, 1
	test	eax, eax
	je	.L71
	mov	edx, DWORD PTR l[rip]
	movsx	rax, edx
	imul	rax, rax, 954437177
	shr	rax, 32
	sar	eax
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 3
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cmp	eax, -1
	jne	.L72
	mov	esi, DWORD PTR l[rip]
	jmp	.L73
.L72:
	mov	esi, -2
.L73:
	mov	edx, DWORD PTR l[rip]
	movsx	rax, edx
	imul	rax, rax, 954437177
	shr	rax, 32
	sar	eax
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 3
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	DWORD PTR [rdx+rax], esi
.L71:
	mov	eax, DWORD PTR l[rip]
	add	eax, 1
	mov	DWORD PTR l[rip], eax
.L65:
	mov	eax, DWORD PTR l[rip]
	cmp	eax, 80
	jle	.L74
	mov	eax, 99
	test	al, al
	je	.L75
	mov	DWORD PTR l[rip], 0
	jmp	.L76
.L84:
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	eax, DWORD PTR [rdx+rax]
	sar	eax, 10
	test	eax, eax
	jne	.L79
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	edi, DWORD PTR [rdx+rax]
	mov	edx, DWORD PTR l[rip]
	movsx	rax, edx
	imul	rax, rax, 954437177
	shr	rax, 32
	sar	eax
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 3
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	ecx, DWORD PTR O[rip]
	mov	esi, DWORD PTR l[rip]
	and	edi, eax
	movsx	r8, esi
	movsx	rdx, ecx
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, r8
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	DWORD PTR [rdx+rax], edi
	movsx	rsi, esi
	movsx	rdx, ecx
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rsi
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
.L79:
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	jne	.L80
	mov	eax, DWORD PTR O[rip]
	test	eax, eax
	jne	.L284
	mov	edx, DWORD PTR l[rip]
	movsx	rax, edx
	imul	rax, rax, 954437177
	shr	rax, 32
	sar	eax
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 3
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	add	eax, 1
	mov	esi, eax
	lea	rdi, .LC7[rip]
	mov	eax, 0
	call	printf@PLT
	test	eax, eax
	jmp	.L284
.L80:
	mov	eax, DWORD PTR l[rip]
	add	eax, 1
	mov	DWORD PTR l[rip], eax
.L76:
	mov	eax, DWORD PTR l[rip]
	cmp	eax, 80
	jle	.L84
	jmp	.L85
.L75:
	mov	DWORD PTR l[rip], 0
	jmp	.L86
.L92:
	mov	eax, DWORD PTR l[rip]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	js	.L285
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	lea	rdx, c[rip]
	mov	edx, DWORD PTR [rcx+rdx]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	eax, DWORD PTR [rdx+rax]
	sar	eax, 10
	test	eax, eax
	jne	.L285
	mov	eax, DWORD PTR l0[rip]
	test	eax, eax
	je	.L88
	mov	eax, DWORD PTR l0[rip]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, DWORD PTR l0[rip]
	sal	eax, 10
	mov	ecx, edx
	or	ecx, eax
	jmp	.L89
.L88:
	mov	ecx, 1022
.L89:
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rdx, edx
	lea	rsi, 0[0+rdx*4]
	lea	rdx, c[rip]
	mov	edx, DWORD PTR [rsi+rdx]
	movsx	rsi, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rsi
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	DWORD PTR [rdx+rax], ecx
	mov	eax, DWORD PTR C[rip]
	lea	edx, 1[rax]
	mov	DWORD PTR C[rip], edx
	test	eax, eax
.L285:
	nop
	mov	eax, DWORD PTR l[rip]
	add	eax, 1
	mov	DWORD PTR l[rip], eax
.L86:
	mov	eax, DWORD PTR l[rip]
	cmp	eax, 8
	jle	.L92
.L85:
	mov	DWORD PTR l[rip], 0
	jmp	.L93
.L96:
	mov	eax, 98
	test	al, al
	je	.L94
	mov	ecx, 1022
	jmp	.L95
.L94:
	mov	ecx, -1
.L95:
	mov	eax, DWORD PTR l[rip]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	DWORD PTR [rdx+rax], ecx
	mov	eax, DWORD PTR l[rip]
	add	eax, 1
	mov	DWORD PTR l[rip], eax
.L93:
	mov	eax, DWORD PTR l[rip]
	cmp	eax, 8
	jle	.L96
	mov	DWORD PTR l[rip], 0
	jmp	.L97
.L106:
	mov	eax, 98
	test	al, al
	je	.L98
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	esi, DWORD PTR [rdx+rax]
	mov	edx, DWORD PTR l[rip]
	movsx	rax, edx
	imul	rax, rax, 954437177
	shr	rax, 32
	sar	eax
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 3
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movsx	rdx, eax
	imul	rdx, rdx, 1431655766
	shr	rdx, 32
	sar	eax, 31
	mov	ecx, edx
	sub	ecx, eax
	mov	eax, DWORD PTR l[rip]
	movsx	rdx, eax
	imul	rdx, rdx, 1272582903
	shr	rdx, 32
	sar	edx, 3
	sar	eax, 31
	sub	edx, eax
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	eax, ecx
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	eax, DWORD PTR [rdx+rax]
	and	eax, esi
	test	eax, eax
	jne	.L99
	mov	eax, DWORD PTR O[rip]
	test	eax, eax
	jne	.L286
	mov	edx, DWORD PTR l[rip]
	movsx	rax, edx
	imul	rax, rax, 954437177
	shr	rax, 32
	sar	eax
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 3
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movsx	rdx, eax
	imul	rdx, rdx, 1431655766
	shr	rdx, 32
	sar	eax, 31
	mov	ecx, edx
	sub	ecx, eax
	mov	eax, DWORD PTR l[rip]
	movsx	rdx, eax
	imul	rdx, rdx, 1272582903
	shr	rdx, 32
	sar	edx, 3
	sar	eax, 31
	sub	edx, eax
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	eax, ecx
	add	eax, 1
	mov	esi, eax
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	printf@PLT
	test	eax, eax
	jmp	.L286
.L99:
	mov	edx, DWORD PTR l[rip]
	movsx	rax, edx
	imul	rax, rax, 954437177
	shr	rax, 32
	sar	eax
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 3
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movsx	rdx, eax
	imul	rdx, rdx, 1431655766
	shr	rdx, 32
	sar	eax, 31
	mov	edi, edx
	sub	edi, eax
	mov	eax, DWORD PTR l[rip]
	movsx	rdx, eax
	imul	rdx, rdx, 1272582903
	shr	rdx, 32
	sar	edx, 3
	sar	eax, 31
	sub	edx, eax
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	eax, edi
	cdqe
	lea	rcx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	esi, DWORD PTR [rcx+rax]
	mov	eax, DWORD PTR O[rip]
	mov	ecx, DWORD PTR l[rip]
	movsx	r8, ecx
	movsx	rcx, eax
	mov	rax, rcx
	sal	rax, 2
	add	rax, rcx
	sal	rax, 2
	add	rax, rcx
	sal	rax, 2
	add	rax, r8
	lea	rcx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	eax, DWORD PTR [rcx+rax]
	sar	eax, 10
	mov	r8d, 1
	mov	ecx, eax
	sal	r8d, cl
	mov	eax, r8d
	not	eax
	mov	ecx, eax
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	eax, edi
	and	ecx, esi
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	DWORD PTR [rdx+rax], ecx
	jmp	.L103
.L98:
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR l0[rip]
	mov	ecx, eax
	sar	edx, cl
	mov	eax, edx
	and	eax, 1
	test	eax, eax
	je	.L103
	mov	edx, DWORD PTR l[rip]
	movsx	rax, edx
	imul	rax, rax, 954437177
	shr	rax, 32
	sar	eax
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 3
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movsx	rdx, eax
	imul	rdx, rdx, 1431655766
	shr	rdx, 32
	sar	eax, 31
	mov	ecx, edx
	sub	ecx, eax
	mov	eax, DWORD PTR l[rip]
	movsx	rdx, eax
	imul	rdx, rdx, 1272582903
	shr	rdx, 32
	sar	edx, 3
	sar	eax, 31
	sub	edx, eax
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	eax, ecx
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cmp	eax, -1
	jne	.L104
	mov	esi, DWORD PTR l[rip]
	jmp	.L105
.L104:
	mov	esi, -2
.L105:
	mov	edx, DWORD PTR l[rip]
	movsx	rax, edx
	imul	rax, rax, 954437177
	shr	rax, 32
	sar	eax
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 3
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movsx	rdx, eax
	imul	rdx, rdx, 1431655766
	shr	rdx, 32
	sar	eax, 31
	mov	ecx, edx
	sub	ecx, eax
	mov	eax, DWORD PTR l[rip]
	movsx	rdx, eax
	imul	rdx, rdx, 1272582903
	shr	rdx, 32
	sar	edx, 3
	sar	eax, 31
	sub	edx, eax
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	eax, ecx
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	DWORD PTR [rdx+rax], esi
.L103:
	mov	eax, DWORD PTR l[rip]
	add	eax, 1
	mov	DWORD PTR l[rip], eax
.L97:
	mov	eax, DWORD PTR l[rip]
	cmp	eax, 80
	jle	.L106
	mov	eax, 98
	test	al, al
	je	.L107
	mov	DWORD PTR l[rip], 0
	jmp	.L108
.L116:
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	eax, DWORD PTR [rdx+rax]
	sar	eax, 10
	test	eax, eax
	jne	.L111
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	edi, DWORD PTR [rdx+rax]
	mov	edx, DWORD PTR l[rip]
	movsx	rax, edx
	imul	rax, rax, 954437177
	shr	rax, 32
	sar	eax
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 3
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movsx	rdx, eax
	imul	rdx, rdx, 1431655766
	shr	rdx, 32
	sar	eax, 31
	mov	ecx, edx
	sub	ecx, eax
	mov	eax, DWORD PTR l[rip]
	movsx	rdx, eax
	imul	rdx, rdx, 1272582903
	shr	rdx, 32
	sar	edx, 3
	sar	eax, 31
	sub	edx, eax
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	eax, ecx
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	ecx, DWORD PTR O[rip]
	mov	esi, DWORD PTR l[rip]
	and	edi, eax
	movsx	r8, esi
	movsx	rdx, ecx
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, r8
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	DWORD PTR [rdx+rax], edi
	movsx	rsi, esi
	movsx	rdx, ecx
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rsi
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
.L111:
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	jne	.L112
	mov	eax, DWORD PTR O[rip]
	test	eax, eax
	jne	.L287
	mov	edx, DWORD PTR l[rip]
	movsx	rax, edx
	imul	rax, rax, 954437177
	shr	rax, 32
	sar	eax
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 3
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movsx	rdx, eax
	imul	rdx, rdx, 1431655766
	shr	rdx, 32
	sar	eax, 31
	mov	ecx, edx
	sub	ecx, eax
	mov	eax, DWORD PTR l[rip]
	movsx	rdx, eax
	imul	rdx, rdx, 1272582903
	shr	rdx, 32
	sar	edx, 3
	sar	eax, 31
	sub	edx, eax
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	eax, ecx
	add	eax, 1
	mov	esi, eax
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	printf@PLT
	test	eax, eax
	jmp	.L287
.L112:
	mov	eax, DWORD PTR l[rip]
	add	eax, 1
	mov	DWORD PTR l[rip], eax
.L108:
	mov	eax, DWORD PTR l[rip]
	cmp	eax, 80
	jle	.L116
	jmp	.L117
.L107:
	mov	DWORD PTR l[rip], 0
	jmp	.L118
.L124:
	mov	eax, DWORD PTR l[rip]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	js	.L288
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	lea	rdx, c[rip]
	mov	edx, DWORD PTR [rcx+rdx]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	eax, DWORD PTR [rdx+rax]
	sar	eax, 10
	test	eax, eax
	jne	.L288
	mov	eax, DWORD PTR l0[rip]
	test	eax, eax
	je	.L120
	mov	eax, DWORD PTR l0[rip]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, DWORD PTR l0[rip]
	sal	eax, 10
	mov	ecx, edx
	or	ecx, eax
	jmp	.L121
.L120:
	mov	ecx, 1022
.L121:
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rdx, edx
	lea	rsi, 0[0+rdx*4]
	lea	rdx, c[rip]
	mov	edx, DWORD PTR [rsi+rdx]
	movsx	rsi, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rsi
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	DWORD PTR [rdx+rax], ecx
	mov	eax, DWORD PTR C[rip]
	lea	edx, 1[rax]
	mov	DWORD PTR C[rip], edx
	test	eax, eax
.L288:
	nop
	mov	eax, DWORD PTR l[rip]
	add	eax, 1
	mov	DWORD PTR l[rip], eax
.L118:
	mov	eax, DWORD PTR l[rip]
	cmp	eax, 8
	jle	.L124
.L117:
	mov	DWORD PTR l0[rip], 0
	mov	eax, DWORD PTR l0[rip]
	mov	DWORD PTR C[rip], eax
	mov	DWORD PTR l[rip], 0
	jmp	.L125
.L133:
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	eax, DWORD PTR [rdx+rax]
	sar	eax, 10
	test	eax, eax
	je	.L126
	mov	eax, DWORD PTR l0[rip]
	add	eax, 1
	mov	DWORD PTR l0[rip], eax
	mov	eax, DWORD PTR l0[rip]
	test	eax, eax
	jne	.L127
.L126:
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	eax, DWORD PTR [rdx+rax]
	and	eax, 1022
	mov	DWORD PTR o[rip], eax
	mov	DWORD PTR I[rip], 0
	jmp	.L128
.L130:
	mov	eax, DWORD PTR I[rip]
	add	eax, 1
	mov	DWORD PTR I[rip], eax
.L128:
	mov	eax, DWORD PTR o[rip]
	and	eax, 1
	test	eax, eax
	jne	.L129
	mov	eax, DWORD PTR o[rip]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	DWORD PTR o[rip], eax
	mov	eax, DWORD PTR o[rip]
	test	eax, eax
	jne	.L130
.L129:
	mov	eax, DWORD PTR o[rip]
	cmp	eax, 1
	jne	.L127
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	ecx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR I[rip]
	sal	eax, 10
	mov	esi, eax
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	or	ecx, esi
	movsx	rsi, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rsi
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	DWORD PTR [rdx+rax], ecx
	mov	eax, DWORD PTR C[rip]
	lea	edx, 1[rax]
	mov	DWORD PTR C[rip], edx
	test	eax, eax
.L127:
	mov	eax, DWORD PTR l[rip]
	add	eax, 1
	mov	DWORD PTR l[rip], eax
.L125:
	mov	eax, DWORD PTR l[rip]
	cmp	eax, 80
	jle	.L133
	mov	edx, DWORD PTR l0[rip]
	mov	eax, DWORD PTR l[rip]
	cmp	edx, eax
	jne	.L134
	mov	eax, DWORD PTR O[rip]
	test	eax, eax
	je	.L289
	mov	eax, DWORD PTR L[rip]
	and	eax, 2
	test	eax, eax
	je	.L289
	mov	eax, DWORD PTR O[rip]
	sub	eax, 1
	mov	DWORD PTR O[rip], eax
	jmp	.L27
.L134:
	mov	DWORD PTR l0[rip], 1
	jmp	.L137
.L234:
	mov	DWORD PTR l[rip], 0
	jmp	.L138
.L141:
	mov	eax, 0
	test	al, al
	je	.L139
	mov	ecx, 1022
	jmp	.L140
.L139:
	mov	ecx, -1
.L140:
	mov	eax, DWORD PTR l[rip]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	DWORD PTR [rdx+rax], ecx
	mov	eax, DWORD PTR l[rip]
	add	eax, 1
	mov	DWORD PTR l[rip], eax
.L138:
	mov	eax, DWORD PTR l[rip]
	cmp	eax, 8
	jle	.L141
	mov	DWORD PTR l[rip], 0
	jmp	.L142
.L151:
	mov	eax, 0
	test	al, al
	je	.L143
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	ecx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR l[rip]
	movsx	rdx, eax
	imul	rdx, rdx, 954437177
	shr	rdx, 32
	sar	edx
	sar	eax, 31
	mov	esi, eax
	mov	eax, edx
	sub	eax, esi
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	eax, DWORD PTR [rdx+rax]
	and	eax, ecx
	test	eax, eax
	jne	.L144
	mov	eax, DWORD PTR O[rip]
	test	eax, eax
	jne	.L290
	mov	eax, DWORD PTR l[rip]
	movsx	rdx, eax
	imul	rdx, rdx, 954437177
	shr	rdx, 32
	sar	edx
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	add	eax, 1
	mov	esi, eax
	lea	rdi, .LC9[rip]
	mov	eax, 0
	call	printf@PLT
	test	eax, eax
	jmp	.L290
.L144:
	mov	eax, DWORD PTR l[rip]
	movsx	rdx, eax
	imul	rdx, rdx, 954437177
	shr	rdx, 32
	sar	edx
	sar	eax, 31
	mov	esi, edx
	sub	esi, eax
	movsx	rax, esi
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	edi, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	eax, DWORD PTR [rdx+rax]
	sar	eax, 10
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	not	eax
	and	edi, eax
	mov	ecx, edi
	movsx	rax, esi
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	DWORD PTR [rdx+rax], ecx
	jmp	.L148
.L143:
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR l0[rip]
	mov	ecx, eax
	sar	edx, cl
	mov	eax, edx
	and	eax, 1
	test	eax, eax
	je	.L148
	mov	eax, DWORD PTR l[rip]
	movsx	rdx, eax
	imul	rdx, rdx, 954437177
	shr	rdx, 32
	sar	edx
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cmp	eax, -1
	jne	.L149
	mov	edx, DWORD PTR l[rip]
	jmp	.L150
.L149:
	mov	edx, -2
.L150:
	mov	eax, DWORD PTR l[rip]
	movsx	rcx, eax
	imul	rcx, rcx, 954437177
	shr	rcx, 32
	sar	ecx
	sar	eax, 31
	mov	esi, eax
	mov	eax, ecx
	sub	eax, esi
	cdqe
	lea	rcx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	DWORD PTR [rcx+rax], edx
.L148:
	mov	eax, DWORD PTR l[rip]
	add	eax, 1
	mov	DWORD PTR l[rip], eax
.L142:
	mov	eax, DWORD PTR l[rip]
	cmp	eax, 80
	jle	.L151
	mov	eax, 0
	test	al, al
	je	.L152
	mov	DWORD PTR l[rip], 0
	jmp	.L153
.L161:
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	eax, DWORD PTR [rdx+rax]
	sar	eax, 10
	test	eax, eax
	jne	.L156
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	edi, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR l[rip]
	movsx	rdx, eax
	imul	rdx, rdx, 954437177
	shr	rdx, 32
	sar	edx
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	ecx, DWORD PTR O[rip]
	mov	esi, DWORD PTR l[rip]
	and	edi, eax
	movsx	r8, esi
	movsx	rdx, ecx
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, r8
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	DWORD PTR [rdx+rax], edi
	movsx	rsi, esi
	movsx	rdx, ecx
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rsi
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
.L156:
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	jne	.L157
	mov	eax, DWORD PTR O[rip]
	test	eax, eax
	jne	.L291
	mov	eax, DWORD PTR l[rip]
	movsx	rdx, eax
	imul	rdx, rdx, 954437177
	shr	rdx, 32
	sar	edx
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	add	eax, 1
	mov	esi, eax
	lea	rdi, .LC9[rip]
	mov	eax, 0
	call	printf@PLT
	test	eax, eax
	jmp	.L291
.L157:
	mov	eax, DWORD PTR l[rip]
	add	eax, 1
	mov	DWORD PTR l[rip], eax
.L153:
	mov	eax, DWORD PTR l[rip]
	cmp	eax, 80
	jle	.L161
	jmp	.L162
.L152:
	mov	DWORD PTR l[rip], 0
	jmp	.L163
.L169:
	mov	eax, DWORD PTR l[rip]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	js	.L292
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	lea	rdx, c[rip]
	mov	edx, DWORD PTR [rcx+rdx]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	eax, DWORD PTR [rdx+rax]
	sar	eax, 10
	test	eax, eax
	jne	.L292
	mov	eax, DWORD PTR l0[rip]
	test	eax, eax
	je	.L165
	mov	eax, DWORD PTR l0[rip]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, DWORD PTR l0[rip]
	sal	eax, 10
	mov	ecx, edx
	or	ecx, eax
	jmp	.L166
.L165:
	mov	ecx, 1022
.L166:
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rdx, edx
	lea	rsi, 0[0+rdx*4]
	lea	rdx, c[rip]
	mov	edx, DWORD PTR [rsi+rdx]
	movsx	rsi, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rsi
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	DWORD PTR [rdx+rax], ecx
	mov	eax, DWORD PTR C[rip]
	lea	edx, 1[rax]
	mov	DWORD PTR C[rip], edx
	test	eax, eax
.L292:
	nop
	mov	eax, DWORD PTR l[rip]
	add	eax, 1
	mov	DWORD PTR l[rip], eax
.L163:
	mov	eax, DWORD PTR l[rip]
	cmp	eax, 8
	jle	.L169
.L162:
	mov	DWORD PTR l[rip], 0
	jmp	.L170
.L173:
	mov	eax, 0
	test	al, al
	je	.L171
	mov	ecx, 1022
	jmp	.L172
.L171:
	mov	ecx, -1
.L172:
	mov	eax, DWORD PTR l[rip]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	DWORD PTR [rdx+rax], ecx
	mov	eax, DWORD PTR l[rip]
	add	eax, 1
	mov	DWORD PTR l[rip], eax
.L170:
	mov	eax, DWORD PTR l[rip]
	cmp	eax, 8
	jle	.L173
	mov	DWORD PTR l[rip], 0
	jmp	.L174
.L183:
	mov	eax, 0
	test	al, al
	je	.L175
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	esi, DWORD PTR [rdx+rax]
	mov	edx, DWORD PTR l[rip]
	movsx	rax, edx
	imul	rax, rax, 954437177
	shr	rax, 32
	sar	eax
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 3
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	eax, DWORD PTR [rdx+rax]
	and	eax, esi
	test	eax, eax
	jne	.L176
	mov	eax, DWORD PTR O[rip]
	test	eax, eax
	jne	.L293
	mov	edx, DWORD PTR l[rip]
	movsx	rax, edx
	imul	rax, rax, 954437177
	shr	rax, 32
	sar	eax
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 3
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	add	eax, 1
	mov	esi, eax
	lea	rdi, .LC9[rip]
	mov	eax, 0
	call	printf@PLT
	test	eax, eax
	jmp	.L293
.L176:
	mov	eax, DWORD PTR l[rip]
	movsx	rdx, eax
	imul	rdx, rdx, 954437177
	shr	rdx, 32
	sar	edx
	mov	ecx, eax
	sar	ecx, 31
	sub	edx, ecx
	mov	ecx, edx
	sal	ecx, 3
	add	ecx, edx
	sub	eax, ecx
	mov	edx, eax
	movsx	rax, edx
	lea	rcx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	esi, DWORD PTR [rcx+rax]
	mov	eax, DWORD PTR O[rip]
	mov	ecx, DWORD PTR l[rip]
	movsx	rdi, ecx
	movsx	rcx, eax
	mov	rax, rcx
	sal	rax, 2
	add	rax, rcx
	sal	rax, 2
	add	rax, rcx
	sal	rax, 2
	add	rax, rdi
	lea	rcx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	eax, DWORD PTR [rcx+rax]
	sar	eax, 10
	mov	edi, 1
	mov	ecx, eax
	sal	edi, cl
	mov	eax, edi
	not	eax
	and	esi, eax
	mov	ecx, esi
	movsx	rax, edx
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	DWORD PTR [rdx+rax], ecx
	jmp	.L180
.L175:
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR l0[rip]
	mov	ecx, eax
	sar	edx, cl
	mov	eax, edx
	and	eax, 1
	test	eax, eax
	je	.L180
	mov	edx, DWORD PTR l[rip]
	movsx	rax, edx
	imul	rax, rax, 954437177
	shr	rax, 32
	sar	eax
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 3
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cmp	eax, -1
	jne	.L181
	mov	esi, DWORD PTR l[rip]
	jmp	.L182
.L181:
	mov	esi, -2
.L182:
	mov	edx, DWORD PTR l[rip]
	movsx	rax, edx
	imul	rax, rax, 954437177
	shr	rax, 32
	sar	eax
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 3
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	DWORD PTR [rdx+rax], esi
.L180:
	mov	eax, DWORD PTR l[rip]
	add	eax, 1
	mov	DWORD PTR l[rip], eax
.L174:
	mov	eax, DWORD PTR l[rip]
	cmp	eax, 80
	jle	.L183
	mov	eax, 0
	test	al, al
	je	.L184
	mov	DWORD PTR l[rip], 0
	jmp	.L185
.L193:
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	eax, DWORD PTR [rdx+rax]
	sar	eax, 10
	test	eax, eax
	jne	.L188
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	edi, DWORD PTR [rdx+rax]
	mov	edx, DWORD PTR l[rip]
	movsx	rax, edx
	imul	rax, rax, 954437177
	shr	rax, 32
	sar	eax
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 3
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	ecx, DWORD PTR O[rip]
	mov	esi, DWORD PTR l[rip]
	and	edi, eax
	movsx	r8, esi
	movsx	rdx, ecx
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, r8
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	DWORD PTR [rdx+rax], edi
	movsx	rsi, esi
	movsx	rdx, ecx
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rsi
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
.L188:
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	jne	.L189
	mov	eax, DWORD PTR O[rip]
	test	eax, eax
	jne	.L294
	mov	edx, DWORD PTR l[rip]
	movsx	rax, edx
	imul	rax, rax, 954437177
	shr	rax, 32
	sar	eax
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 3
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	add	eax, 1
	mov	esi, eax
	lea	rdi, .LC9[rip]
	mov	eax, 0
	call	printf@PLT
	test	eax, eax
	jmp	.L294
.L189:
	mov	eax, DWORD PTR l[rip]
	add	eax, 1
	mov	DWORD PTR l[rip], eax
.L185:
	mov	eax, DWORD PTR l[rip]
	cmp	eax, 80
	jle	.L193
	jmp	.L194
.L184:
	mov	DWORD PTR l[rip], 0
	jmp	.L195
.L201:
	mov	eax, DWORD PTR l[rip]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	js	.L295
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	lea	rdx, c[rip]
	mov	edx, DWORD PTR [rcx+rdx]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	eax, DWORD PTR [rdx+rax]
	sar	eax, 10
	test	eax, eax
	jne	.L295
	mov	eax, DWORD PTR l0[rip]
	test	eax, eax
	je	.L197
	mov	eax, DWORD PTR l0[rip]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, DWORD PTR l0[rip]
	sal	eax, 10
	mov	ecx, edx
	or	ecx, eax
	jmp	.L198
.L197:
	mov	ecx, 1022
.L198:
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rdx, edx
	lea	rsi, 0[0+rdx*4]
	lea	rdx, c[rip]
	mov	edx, DWORD PTR [rsi+rdx]
	movsx	rsi, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rsi
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	DWORD PTR [rdx+rax], ecx
	mov	eax, DWORD PTR C[rip]
	lea	edx, 1[rax]
	mov	DWORD PTR C[rip], edx
	test	eax, eax
.L295:
	nop
	mov	eax, DWORD PTR l[rip]
	add	eax, 1
	mov	DWORD PTR l[rip], eax
.L195:
	mov	eax, DWORD PTR l[rip]
	cmp	eax, 8
	jle	.L201
.L194:
	mov	DWORD PTR l[rip], 0
	jmp	.L202
.L205:
	mov	eax, 0
	test	al, al
	je	.L203
	mov	ecx, 1022
	jmp	.L204
.L203:
	mov	ecx, -1
.L204:
	mov	eax, DWORD PTR l[rip]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	DWORD PTR [rdx+rax], ecx
	mov	eax, DWORD PTR l[rip]
	add	eax, 1
	mov	DWORD PTR l[rip], eax
.L202:
	mov	eax, DWORD PTR l[rip]
	cmp	eax, 8
	jle	.L205
	mov	DWORD PTR l[rip], 0
	jmp	.L206
.L215:
	mov	eax, 0
	test	al, al
	je	.L207
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	esi, DWORD PTR [rdx+rax]
	mov	edx, DWORD PTR l[rip]
	movsx	rax, edx
	imul	rax, rax, 954437177
	shr	rax, 32
	sar	eax
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 3
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movsx	rdx, eax
	imul	rdx, rdx, 1431655766
	shr	rdx, 32
	sar	eax, 31
	mov	ecx, edx
	sub	ecx, eax
	mov	eax, DWORD PTR l[rip]
	movsx	rdx, eax
	imul	rdx, rdx, 1272582903
	shr	rdx, 32
	sar	edx, 3
	sar	eax, 31
	sub	edx, eax
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	eax, ecx
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	eax, DWORD PTR [rdx+rax]
	and	eax, esi
	test	eax, eax
	jne	.L208
	mov	eax, DWORD PTR O[rip]
	test	eax, eax
	jne	.L296
	mov	edx, DWORD PTR l[rip]
	movsx	rax, edx
	imul	rax, rax, 954437177
	shr	rax, 32
	sar	eax
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 3
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movsx	rdx, eax
	imul	rdx, rdx, 1431655766
	shr	rdx, 32
	sar	eax, 31
	mov	ecx, edx
	sub	ecx, eax
	mov	eax, DWORD PTR l[rip]
	movsx	rdx, eax
	imul	rdx, rdx, 1272582903
	shr	rdx, 32
	sar	edx, 3
	sar	eax, 31
	sub	edx, eax
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	eax, ecx
	add	eax, 1
	mov	esi, eax
	lea	rdi, .LC9[rip]
	mov	eax, 0
	call	printf@PLT
	test	eax, eax
	jmp	.L296
.L208:
	mov	edx, DWORD PTR l[rip]
	movsx	rax, edx
	imul	rax, rax, 954437177
	shr	rax, 32
	sar	eax
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 3
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movsx	rdx, eax
	imul	rdx, rdx, 1431655766
	shr	rdx, 32
	sar	eax, 31
	mov	edi, edx
	sub	edi, eax
	mov	eax, DWORD PTR l[rip]
	movsx	rdx, eax
	imul	rdx, rdx, 1272582903
	shr	rdx, 32
	sar	edx, 3
	sar	eax, 31
	sub	edx, eax
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	eax, edi
	cdqe
	lea	rcx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	esi, DWORD PTR [rcx+rax]
	mov	eax, DWORD PTR O[rip]
	mov	ecx, DWORD PTR l[rip]
	movsx	r8, ecx
	movsx	rcx, eax
	mov	rax, rcx
	sal	rax, 2
	add	rax, rcx
	sal	rax, 2
	add	rax, rcx
	sal	rax, 2
	add	rax, r8
	lea	rcx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	eax, DWORD PTR [rcx+rax]
	sar	eax, 10
	mov	r8d, 1
	mov	ecx, eax
	sal	r8d, cl
	mov	eax, r8d
	not	eax
	mov	ecx, eax
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	eax, edi
	and	ecx, esi
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	DWORD PTR [rdx+rax], ecx
	jmp	.L212
.L207:
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR l0[rip]
	mov	ecx, eax
	sar	edx, cl
	mov	eax, edx
	and	eax, 1
	test	eax, eax
	je	.L212
	mov	edx, DWORD PTR l[rip]
	movsx	rax, edx
	imul	rax, rax, 954437177
	shr	rax, 32
	sar	eax
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 3
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movsx	rdx, eax
	imul	rdx, rdx, 1431655766
	shr	rdx, 32
	sar	eax, 31
	mov	ecx, edx
	sub	ecx, eax
	mov	eax, DWORD PTR l[rip]
	movsx	rdx, eax
	imul	rdx, rdx, 1272582903
	shr	rdx, 32
	sar	edx, 3
	sar	eax, 31
	sub	edx, eax
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	eax, ecx
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cmp	eax, -1
	jne	.L213
	mov	esi, DWORD PTR l[rip]
	jmp	.L214
.L213:
	mov	esi, -2
.L214:
	mov	edx, DWORD PTR l[rip]
	movsx	rax, edx
	imul	rax, rax, 954437177
	shr	rax, 32
	sar	eax
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 3
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movsx	rdx, eax
	imul	rdx, rdx, 1431655766
	shr	rdx, 32
	sar	eax, 31
	mov	ecx, edx
	sub	ecx, eax
	mov	eax, DWORD PTR l[rip]
	movsx	rdx, eax
	imul	rdx, rdx, 1272582903
	shr	rdx, 32
	sar	edx, 3
	sar	eax, 31
	sub	edx, eax
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	eax, ecx
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	DWORD PTR [rdx+rax], esi
.L212:
	mov	eax, DWORD PTR l[rip]
	add	eax, 1
	mov	DWORD PTR l[rip], eax
.L206:
	mov	eax, DWORD PTR l[rip]
	cmp	eax, 80
	jle	.L215
	mov	eax, 0
	test	al, al
	je	.L216
	mov	DWORD PTR l[rip], 0
	jmp	.L217
.L225:
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	eax, DWORD PTR [rdx+rax]
	sar	eax, 10
	test	eax, eax
	jne	.L220
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	edi, DWORD PTR [rdx+rax]
	mov	edx, DWORD PTR l[rip]
	movsx	rax, edx
	imul	rax, rax, 954437177
	shr	rax, 32
	sar	eax
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 3
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movsx	rdx, eax
	imul	rdx, rdx, 1431655766
	shr	rdx, 32
	sar	eax, 31
	mov	ecx, edx
	sub	ecx, eax
	mov	eax, DWORD PTR l[rip]
	movsx	rdx, eax
	imul	rdx, rdx, 1272582903
	shr	rdx, 32
	sar	edx, 3
	sar	eax, 31
	sub	edx, eax
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	eax, ecx
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	ecx, DWORD PTR O[rip]
	mov	esi, DWORD PTR l[rip]
	and	edi, eax
	movsx	r8, esi
	movsx	rdx, ecx
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, r8
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	DWORD PTR [rdx+rax], edi
	movsx	rsi, esi
	movsx	rdx, ecx
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rsi
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
.L220:
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	jne	.L221
	mov	eax, DWORD PTR O[rip]
	test	eax, eax
	jne	.L297
	mov	edx, DWORD PTR l[rip]
	movsx	rax, edx
	imul	rax, rax, 954437177
	shr	rax, 32
	sar	eax
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 3
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movsx	rdx, eax
	imul	rdx, rdx, 1431655766
	shr	rdx, 32
	sar	eax, 31
	mov	ecx, edx
	sub	ecx, eax
	mov	eax, DWORD PTR l[rip]
	movsx	rdx, eax
	imul	rdx, rdx, 1272582903
	shr	rdx, 32
	sar	edx, 3
	sar	eax, 31
	sub	edx, eax
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	eax, ecx
	add	eax, 1
	mov	esi, eax
	lea	rdi, .LC9[rip]
	mov	eax, 0
	call	printf@PLT
	test	eax, eax
	jmp	.L297
.L221:
	mov	eax, DWORD PTR l[rip]
	add	eax, 1
	mov	DWORD PTR l[rip], eax
.L217:
	mov	eax, DWORD PTR l[rip]
	cmp	eax, 80
	jle	.L225
	jmp	.L226
.L216:
	mov	DWORD PTR l[rip], 0
	jmp	.L227
.L233:
	mov	eax, DWORD PTR l[rip]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, c[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	js	.L298
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	lea	rdx, c[rip]
	mov	edx, DWORD PTR [rcx+rdx]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	eax, DWORD PTR [rdx+rax]
	sar	eax, 10
	test	eax, eax
	jne	.L298
	mov	eax, DWORD PTR l0[rip]
	test	eax, eax
	je	.L229
	mov	eax, DWORD PTR l0[rip]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, DWORD PTR l0[rip]
	sal	eax, 10
	mov	ecx, edx
	or	ecx, eax
	jmp	.L230
.L229:
	mov	ecx, 1022
.L230:
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rdx, edx
	lea	rsi, 0[0+rdx*4]
	lea	rdx, c[rip]
	mov	edx, DWORD PTR [rsi+rdx]
	movsx	rsi, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rsi
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	DWORD PTR [rdx+rax], ecx
	mov	eax, DWORD PTR C[rip]
	lea	edx, 1[rax]
	mov	DWORD PTR C[rip], edx
	test	eax, eax
.L298:
	nop
	mov	eax, DWORD PTR l[rip]
	add	eax, 1
	mov	DWORD PTR l[rip], eax
.L227:
	mov	eax, DWORD PTR l[rip]
	cmp	eax, 8
	jle	.L233
.L226:
	mov	eax, DWORD PTR l0[rip]
	add	eax, 1
	mov	DWORD PTR l0[rip], eax
.L137:
	mov	eax, DWORD PTR l0[rip]
	cmp	eax, 9
	jle	.L234
	mov	eax, DWORD PTR C[rip]
	test	eax, eax
	jne	.L299
	mov	eax, DWORD PTR O[rip]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, S[rip+332]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR o[rip], eax
	mov	eax, DWORD PTR o[rip]
	test	eax, eax
	je	.L236
	mov	eax, DWORD PTR O[rip]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, S[rip+324]
	mov	eax, DWORD PTR [rdx+rax]
	jmp	.L237
.L236:
	mov	eax, 0
.L237:
	mov	DWORD PTR l[rip], eax
	mov	eax, DWORD PTR o[rip]
	test	eax, eax
	je	.L238
	mov	eax, DWORD PTR O[rip]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, S[rip+328]
	mov	edx, DWORD PTR [rdx+rax]
	movsx	rax, edx
	imul	rax, rax, 954437177
	shr	rax, 32
	sar	eax
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 3
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	add	eax, 1
	jmp	.L239
.L238:
	mov	rax, QWORD PTR i[rip]
	imul	rax, rax, 1103515245
	add	rax, 12345
	and	eax, 2147483647
	mov	QWORD PTR i[rip], rax
	mov	rax, QWORD PTR i[rip]
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, rax
	movsd	xmm0, QWORD PTR .LC0[rip]
	mulsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR .LC1[rip]
	divsd	xmm0, xmm1
	cvttsd2si	edx, xmm0
	movsx	rax, edx
	imul	rax, rax, 954437177
	shr	rax, 32
	sar	eax
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 3
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	ecx, DWORD PTR O[rip]
	lea	esi, 1[rax]
	movsx	rdx, ecx
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, S[rip+332]
	mov	DWORD PTR [rdx+rax], esi
	movsx	rdx, ecx
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, S[rip+332]
	mov	eax, DWORD PTR [rdx+rax]
.L239:
	mov	DWORD PTR I[rip], eax
	jmp	.L240
.L249:
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	eax, DWORD PTR [rdx+rax]
	sar	eax, 10
	test	eax, eax
	jne	.L241
.L248:
	mov	DWORD PTR l0[rip], 0
	mov	eax, DWORD PTR o[rip]
	test	eax, eax
	je	.L242
	mov	eax, DWORD PTR O[rip]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, S[rip+332]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR I[rip]
	cmp	edx, eax
	je	.L300
.L242:
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR I[rip]
	mov	ecx, eax
	sar	edx, cl
	mov	eax, edx
	and	eax, 1
	test	eax, eax
	je	.L243
	mov	eax, DWORD PTR O[rip]
	mov	ecx, DWORD PTR I[rip]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, S[rip+328]
	mov	DWORD PTR [rdx+rax], ecx
	mov	eax, DWORD PTR O[rip]
	lea	edx, 1[rax]
	mov	DWORD PTR O[rip], edx
	mov	ecx, DWORD PTR l[rip]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, S[rip+324]
	mov	DWORD PTR [rdx+rax], ecx
	mov	eax, DWORD PTR O[rip]
	lea	ecx, -1[rax]
	mov	eax, DWORD PTR O[rip]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdi, rax
	lea	rsi, S[rip]
	movsx	rdx, ecx
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rcx, rax
	lea	rdx, S[rip]
	lea	rax, [rdi+rsi]
	add	rdx, rcx
	mov	ecx, 42
	mov	rdi, rax
	mov	rsi, rdx
	rep movsq
	mov	eax, DWORD PTR I[rip]
	test	eax, eax
	je	.L244
	mov	eax, DWORD PTR I[rip]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, DWORD PTR I[rip]
	sal	eax, 10
	mov	ecx, edx
	or	ecx, eax
	jmp	.L245
.L244:
	mov	ecx, 1022
.L245:
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rsi, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rsi
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	DWORD PTR [rdx+rax], ecx
	mov	edx, DWORD PTR O[rip]
	mov	eax, DWORD PTR w[rip]
	cmp	edx, eax
	jle	.L301
	mov	eax, DWORD PTR O[rip]
	mov	DWORD PTR w[rip], eax
	mov	eax, DWORD PTR w[rip]
	test	eax, eax
	jmp	.L301
.L243:
	mov	edx, DWORD PTR I[rip]
	movsx	rax, edx
	imul	rax, rax, 954437177
	shr	rax, 32
	sar	eax
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 3
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	add	eax, 1
	mov	DWORD PTR I[rip], eax
	mov	DWORD PTR o[rip], 1
	jmp	.L248
.L241:
	mov	eax, DWORD PTR l[rip]
	add	eax, 1
	mov	DWORD PTR l[rip], eax
	mov	eax, DWORD PTR O[rip]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, S[rip+332]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR I[rip], eax
	mov	DWORD PTR o[rip], 0
.L240:
	mov	eax, DWORD PTR l[rip]
	cmp	eax, 80
	jle	.L249
.L299:
	nop
	jmp	.L235
.L301:
	nop
.L235:
	mov	eax, DWORD PTR O[rip]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, S[rip+332]
	mov	DWORD PTR [rdx+rax], 0
	jmp	.L27
.L280:
	nop
	jmp	.L38
.L281:
	nop
	jmp	.L38
.L283:
	nop
	jmp	.L38
.L284:
	nop
	jmp	.L38
.L286:
	nop
	jmp	.L38
.L287:
	nop
	jmp	.L38
.L290:
	nop
	jmp	.L38
.L291:
	nop
	jmp	.L38
.L293:
	nop
	jmp	.L38
.L294:
	nop
	jmp	.L38
.L296:
	nop
	jmp	.L38
.L297:
	nop
.L38:
	mov	eax, DWORD PTR O[rip]
	mov	DWORD PTR l0[rip], eax
	mov	eax, DWORD PTR l0[rip]
	test	eax, eax
	jne	.L250
	mov	DWORD PTR L[rip], 0
	jmp	.L277
.L250:
	mov	eax, DWORD PTR O[rip]
	sub	eax, 1
	mov	DWORD PTR O[rip], eax
	mov	ecx, DWORD PTR O[rip]
	mov	eax, DWORD PTR O[rip]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, S[rip+324]
	mov	eax, DWORD PTR [rdx+rax]
	movsx	rsi, eax
	movsx	rdx, ecx
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rsi
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	edi, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR O[rip]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, S[rip+328]
	mov	eax, DWORD PTR [rdx+rax]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	not	eax
	mov	ecx, eax
	mov	esi, DWORD PTR O[rip]
	mov	eax, DWORD PTR O[rip]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, S[rip+324]
	mov	eax, DWORD PTR [rdx+rax]
	and	ecx, edi
	movsx	rdi, eax
	movsx	rdx, esi
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdi
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	DWORD PTR [rdx+rax], ecx
	jmp	.L279
.L289:
	nop
	jmp	.L277
.L300:
	nop
.L136:
.L277:
	mov	eax, DWORD PTR L[rip]
	cmp	eax, 2
	je	.L251
	cmp	eax, 3
	je	.L252
	jmp	.L253
.L251:
	mov	eax, DWORD PTR l0[rip]
	test	eax, eax
	je	.L254
.L252:
	mov	DWORD PTR O[rip], 82
	mov	rax, QWORD PTR i[rip]
	imul	rax, rax, 1103515245
	add	rax, 12345
	and	eax, 2147483647
	mov	QWORD PTR i[rip], rax
	mov	rax, QWORD PTR i[rip]
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, rax
	movsd	xmm0, QWORD PTR .LC0[rip]
	mulsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR .LC1[rip]
	divsd	xmm0, xmm1
	cvttsd2si	ecx, xmm0
	movsx	rax, ecx
	imul	rax, rax, 424194301
	shr	rax, 32
	sar	eax, 3
	mov	esi, ecx
	sar	esi, 31
	sub	eax, esi
	mov	edx, eax
	mov	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*8]
	add	eax, edx
	sub	ecx, eax
	mov	edx, ecx
	mov	DWORD PTR l[rip], edx
	mov	eax, DWORD PTR O[rip]
	mov	ecx, DWORD PTR l[rip]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, S[rip+328]
	mov	DWORD PTR [rdx+rax], ecx
	jmp	.L255
.L302:
	nop
.L256:
	mov	DWORD PTR l0[rip], 0
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR O[rip]
	mov	ecx, edx
	sar	ecx, 10
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, S[rip+332]
	mov	DWORD PTR [rdx+rax], ecx
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	eax, DWORD PTR [rdx+rax]
	and	eax, 1
	test	eax, eax
	jne	.L257
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	DWORD PTR [rdx+rax], 1023
	mov	eax, DWORD PTR O[rip]
	mov	ecx, DWORD PTR l[rip]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, S[rip+324]
	mov	DWORD PTR [rdx+rax], ecx
	mov	eax, DWORD PTR O[rip]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rcx, rax
	lea	rdx, S[rip]
	lea	rax, S[rip]
	add	rdx, rcx
	mov	ecx, 42
	mov	rdi, rax
	mov	rsi, rdx
	rep movsq
	mov	DWORD PTR O[rip], 0
	mov	eax, DWORD PTR O[rip]
	mov	DWORD PTR w[rip], eax
	mov	DWORD PTR L[rip], 2
	jmp	.L235
.L257:
	mov	eax, DWORD PTR l[rip]
	lea	ecx, 1[rax]
	movsx	rax, ecx
	imul	rax, rax, 424194301
	shr	rax, 32
	sar	eax, 3
	mov	esi, ecx
	sar	esi, 31
	sub	eax, esi
	mov	edx, eax
	mov	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*8]
	add	eax, edx
	sub	ecx, eax
	mov	edx, ecx
	mov	DWORD PTR l[rip], edx
.L255:
	mov	eax, DWORD PTR l0[rip]
	test	eax, eax
	jne	.L302
	mov	eax, DWORD PTR O[rip]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, S[rip+328]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR l[rip]
	cmp	edx, eax
	jne	.L302
	mov	DWORD PTR L[rip], 0
	mov	DWORD PTR l0[rip], 1
	jmp	.L253
.L254:
	mov	DWORD PTR O[rip], 82
	mov	eax, DWORD PTR O[rip]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, S[rip+324]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR l[rip], eax
	mov	eax, DWORD PTR O[rip]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, S[rip+332]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	je	.L258
	mov	eax, DWORD PTR O[rip]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, S[rip+332]
	mov	eax, DWORD PTR [rdx+rax]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	ecx, edx
	mov	eax, DWORD PTR O[rip]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, S[rip+332]
	mov	eax, DWORD PTR [rdx+rax]
	sal	eax, 10
	or	eax, ecx
	or	eax, 1
	mov	ecx, eax
	jmp	.L259
.L258:
	mov	ecx, 1023
.L259:
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rsi, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rsi
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	DWORD PTR [rdx+rax], ecx
	jmp	.L256
.L253:
	lea	rdi, .LC2[rip]
	call	puts@PLT
	mov	DWORD PTR l[rip], 0
	jmp	.L260
.L271:
	mov	eax, DWORD PTR O[rip]
	mov	edx, DWORD PTR l[rip]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, S[rip]
	mov	eax, DWORD PTR [rdx+rax]
	sar	eax, 10
	mov	DWORD PTR I[rip], eax
	mov	eax, DWORD PTR l[rip]
	add	eax, 1
	mov	DWORD PTR l[rip], eax
	mov	edx, DWORD PTR l[rip]
	movsx	rax, edx
	imul	rax, rax, 1431655766
	shr	rax, 32
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	add	ecx, ecx
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	test	eax, eax
	jne	.L261
	mov	edx, DWORD PTR l[rip]
	movsx	rax, edx
	imul	rax, rax, 954437177
	shr	rax, 32
	sar	eax
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 3
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	test	eax, eax
	jne	.L262
	mov	ecx, DWORD PTR l[rip]
	movsx	rax, ecx
	imul	rax, rax, 1272582903
	shr	rax, 32
	sar	eax, 3
	mov	esi, ecx
	sar	esi, 31
	sub	eax, esi
	mov	edx, eax
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	lea	edx, 0[0+rax*8]
	add	eax, edx
	sub	ecx, eax
	mov	edx, ecx
	test	edx, edx
	jne	.L263
	mov	ecx, DWORD PTR l[rip]
	movsx	rax, ecx
	imul	rax, rax, 424194301
	shr	rax, 32
	sar	eax, 3
	mov	esi, ecx
	sar	esi, 31
	sub	eax, esi
	mov	edx, eax
	mov	eax, edx
	sal	eax, 3
	add	eax, edx
	lea	edx, 0[0+rax*8]
	add	eax, edx
	sub	ecx, eax
	mov	edx, ecx
	test	edx, edx
	je	.L264
	lea	rax, z[rip]
	jmp	.L268
.L264:
	lea	rax, .LC2[rip]
	jmp	.L268
.L263:
	lea	rax, .LC2[rip]
	jmp	.L268
.L262:
	lea	rax, .LC3[rip]
	jmp	.L268
.L261:
	lea	rax, .LC4[rip]
.L268:
	mov	edx, DWORD PTR I[rip]
	test	edx, edx
	je	.L269
	mov	edx, DWORD PTR I[rip]
	mov	ecx, edx
	or	ecx, 48
	jmp	.L270
.L269:
	mov	ecx, 46
.L270:
	mov	rdx, rax
	mov	esi, ecx
	lea	rdi, .LC5[rip]
	mov	eax, 0
	call	printf@PLT
.L260:
	mov	eax, DWORD PTR l[rip]
	cmp	eax, 80
	jle	.L271
	mov	ecx, DWORD PTR w[rip]
	mov	edx, DWORD PTR O[rip]
	mov	eax, DWORD PTR l0[rip]
	test	eax, eax
	je	.L272
	lea	rax, .LC10[rip]
	jmp	.L273
.L272:
	lea	rax, .LC11[rip]
.L273:
	mov	rsi, rax
	lea	rdi, .LC12[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR L[rip]
	or	eax, 2
	mov	DWORD PTR L[rip], eax
	mov	eax, DWORD PTR L[rip]
	cmp	eax, 3
	jne	.L274
	mov	eax, DWORD PTR l0[rip]
	test	eax, eax
	jne	.L275
.L274:
	mov	eax, DWORD PTR l0[rip]
	test	eax, eax
	sete	al
	movzx	eax, al
	jmp	.L278
.L275:
	mov	eax, DWORD PTR O[rip]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 4
	mov	rcx, rax
	lea	rdx, S[rip]
	lea	rax, S[rip+27552]
	add	rdx, rcx
	mov	ecx, 42
	mov	rdi, rax
	mov	rsi, rdx
	rep movsq
	jmp	.L277
.L278:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	main, .-main
	.section	.rodata
	.align 8
.LC0:
	.long	0
	.long	1079263232
	.align 8
.LC1:
	.long	0
	.long	1105199104
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.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:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"382583.c"
	.text
	.comm	S,27888,4
	.comm	I,4,4
	.comm	l,4,4
	.comm	l0,4,4
	.comm	o,4,4
	.comm	C,4,4
	.global	O
	.bss
	.align	2
	.type	O, %object
	.size	O, 4
O:
	.space	4
	.global	w
	.align	2
	.type	w, %object
	.size	w, 4
w:
	.space	4
	.comm	c,40,4
	.comm	L,4,4
	.comm	i,4,4
	.global	z
	.data
	.align	2
	.type	z, %object
	.size	z, 24
z:
	.ascii	"\007      &       &      \012\000"
	.global	__aeabi_i2d
	.global	__aeabi_dmul
	.global	__aeabi_ddiv
	.section	.rodata
	.align	2
.LC0:
	.ascii	"\012\000"
	.align	2
.LC1:
	.ascii	"| \000"
	.align	2
.LC2:
	.ascii	"\000"
	.align	2
.LC3:
	.ascii	"%c %s\000"
	.align	2
.LC4:
	.ascii	"!!! row %i\012\000"
	.align	2
.LC5:
	.ascii	"!!! col %i\012\000"
	.align	2
.LC6:
	.ascii	"!!! box %i\012\000"
	.align	2
.LC7:
	.ascii	"!!!  %i\012\000"
	.global	__aeabi_d2iz
	.align	2
.LC8:
	.ascii	"Done\000"
	.align	2
.LC9:
	.ascii	"No way!\000"
	.align	2
.LC10:
	.ascii	"\012%s (stk %i %i)\012\000"
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #12
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, .L303+96
	mov	r2, #0
	str	r2, [r3, #332]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	ble	.L2
	ldr	r3, [fp, #-20]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #85
	beq	.L3
	mov	r3, #1
	b	.L5
.L3:
	mov	r3, #6
	b	.L5
.L2:
	mov	r3, #0
.L5:
	ldr	r2, .L303+68
	str	r3, [r2]
	ldr	r3, .L303+68
	ldr	r3, [r3]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L6
	ldr	r3, [fp, #-20]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r0, r3
	bl	atol
	mov	r3, r0
	b	.L7
.L6:
	mov	r3, #123
.L7:
	ldr	r2, .L303
	str	r3, [r2]
	ldr	r3, .L303+80
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L303+80
	ldr	r3, [r3]
	ldr	r2, .L303+100
	str	r3, [r2]
	b	.L8
.L26:
	ldr	r3, .L303+68
	ldr	r3, [r3]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L9
	bl	getchar
	mov	r3, r0
	eor	r3, r3, #48
	b	.L10
.L9:
	mov	r3, #0
.L10:
	ldr	r2, .L303+64
	str	r3, [r2]
	ldr	r3, .L303
	ldr	r3, [r3]
	ldr	r2, .L303+4
	mul	r3, r2, r3
	add	r3, r3, #12288
	add	r3, r3, #57
	bic	r3, r3, #-2147483648
	ldr	r2, .L303
	str	r3, [r2]
	ldr	r3, .L303
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, #0
	ldr	r3, .L303+8
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L303+12
	bl	__aeabi_ddiv
	ldr	r3, .L303+64
	ldr	r3, [r3]
	cmp	r3, #30
	beq	.L11
	ldr	r3, .L303+64
	ldr	r3, [r3]
	b	.L12
.L11:
	mov	r3, #0
.L12:
	ldr	r2, .L303+64
	str	r3, [r2]
	ldr	r3, .L303+64
	ldr	r3, [r3]
	cmp	r3, #9
	bgt	.L8
	ldr	r3, .L303+80
	ldr	r3, [r3]
	cmp	r3, #21
	bgt	.L13
	ldr	r3, .L303+80
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L303+80
	str	r2, [r1]
	ldr	r2, .L303+16
	ldrb	r2, [r2, r3]	@ zero_extendqisi2
	eor	r2, r2, #13
	and	r1, r2, #255
	ldr	r2, .L303+16
	strb	r1, [r2, r3]
.L13:
	ldr	r3, .L303+64
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L14
	ldr	r3, .L303+64
	ldr	r3, [r3]
	mov	r2, #1
	lsl	r2, r2, r3
	ldr	r3, .L303+64
	ldr	r3, [r3]
	lsl	r3, r3, #10
	orr	r1, r2, r3
	b	.L15
.L14:
	ldr	r1, .L303+84
.L15:
	ldr	r3, .L303+92
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	r0, [r3]
	ldr	ip, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r0
	str	r1, [ip, r3, lsl #2]
	ldr	r3, .L303+64
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L16
	ldr	r3, .L303+64
	ldr	r3, [r3]
	orr	r0, r3, #48
	b	.L17
.L16:
	mov	r0, #46
.L17:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L303+100
	str	r3, [r2]
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r3, .L303+48
	smull	ip, r2, r3, r1
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	sub	r2, r1, r3
	cmp	r2, #0
	bne	.L18
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r3, .L303+104
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	sub	r2, r1, r3
	cmp	r2, #0
	bne	.L19
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r3, .L303+52
	smull	r2, r3, r1, r3
	asr	r2, r3, #3
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	add	r3, r3, r2
	sub	r2, r1, r3
	cmp	r2, #0
	bne	.L20
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r3, .L303+20
	smull	r2, r3, r1, r3
	asr	r2, r3, #3
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r2, r3, #3
	add	r3, r3, r2
	sub	r2, r1, r3
	cmp	r2, #0
	beq	.L21
	ldr	r3, .L303+16
	b	.L25
.L21:
	ldr	r3, .L303+24
	b	.L25
.L20:
	ldr	r3, .L303+24
	b	.L25
.L19:
	ldr	r3, .L303+28
	b	.L25
.L18:
	ldr	r3, .L303+32
.L25:
	mov	r2, r3
	mov	r1, r0
	ldr	r0, .L303+36
	bl	printf
.L8:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	cmp	r3, #80
	ble	.L26
.L279:
	nop
.L27:
	ldr	r3, .L303+100
	mov	r2, #0
	str	r2, [r3]
	b	.L28
.L31:
	mov	r3, #114
	cmp	r3, #0
	beq	.L29
	ldr	r2, .L303+84
	b	.L30
.L29:
	mvn	r2, #0
.L30:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r1, .L303+88
	str	r2, [r1, r3, lsl #2]
	ldr	r3, .L303+100
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L303+100
	str	r3, [r2]
.L28:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	cmp	r3, #8
	ble	.L31
	ldr	r3, .L303+100
	mov	r2, #0
	str	r2, [r3]
	b	.L32
.L42:
	mov	r3, #114
	cmp	r3, #0
	beq	.L33
	ldr	r3, .L303+92
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r0, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r2, [r0, r3, lsl #2]
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r1, .L303+104
	smull	r0, r1, r3, r1
	asr	r1, r1, #1
	asr	r3, r3, #31
	sub	r3, r1, r3
	ldr	r1, .L303+88
	ldr	r3, [r1, r3, lsl #2]
	and	r3, r3, r2
	cmp	r3, #0
	bne	.L34
	ldr	r3, .L303+92
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L280
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r2, .L303+104
	smull	r1, r2, r3, r2
	asr	r2, r2, #1
	asr	r3, r3, #31
	sub	r3, r2, r3
	add	r3, r3, #1
	mov	r1, r3
	ldr	r0, .L303+40
	bl	printf
	mov	r3, r0
	cmp	r3, #0
	b	.L280
.L34:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r2, .L303+104
	smull	r1, r2, r3, r2
	asr	r2, r2, #1
	asr	r3, r3, #31
	sub	r1, r2, r3
	ldr	r3, .L303+88
	ldr	r0, [r3, r1, lsl #2]
	ldr	r3, .L303+92
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	ip, [r3]
	ldr	lr, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, ip
	ldr	r3, [lr, r3, lsl #2]
	asr	r3, r3, #10
	mov	r2, #1
	lsl	r3, r2, r3
	mvn	r3, r3
	and	r3, r3, r0
	ldr	r2, .L303+88
	str	r3, [r2, r1, lsl #2]
	b	.L39
.L33:
	ldr	r3, .L303+92
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r0, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r2, [r0, r3, lsl #2]
	ldr	r3, .L303+76
	ldr	r3, [r3]
	asr	r3, r2, r3
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L39
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r2, .L303+104
	smull	r1, r2, r3, r2
	asr	r2, r2, #1
	asr	r3, r3, #31
	sub	r3, r2, r3
	ldr	r2, .L303+88
	ldr	r3, [r2, r3, lsl #2]
	cmn	r3, #1
	bne	.L40
	ldr	r3, .L303+100
	ldr	r2, [r3]
	b	.L41
.L40:
	mvn	r2, #1
.L41:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r1, .L303+104
	smull	r0, r1, r3, r1
	asr	r1, r1, #1
	asr	r3, r3, #31
	sub	r3, r1, r3
	ldr	r1, .L303+88
	str	r2, [r1, r3, lsl #2]
.L39:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L303+100
	str	r3, [r2]
.L32:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	cmp	r3, #80
	ble	.L42
	mov	r3, #114
	cmp	r3, #0
	beq	.L43
	ldr	r3, .L303+100
	mov	r2, #0
	str	r2, [r3]
	b	.L44
.L52:
	ldr	r3, .L303+92
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r0, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r3, [r0, r3, lsl #2]
	asr	r3, r3, #10
	cmp	r3, #0
	bne	.L47
	ldr	r3, .L303+92
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r0, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r2, [r0, r3, lsl #2]
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r1, .L303+104
	smull	r0, r1, r3, r1
	asr	r1, r1, #1
	asr	r3, r3, #31
	sub	r3, r1, r3
	ldr	r1, .L303+88
	ldr	r3, [r1, r3, lsl #2]
	ldr	r1, .L303+92
	ldr	r1, [r1]
	ldr	r0, .L303+100
	ldr	r0, [r0]
	and	ip, r2, r3
	ldr	lr, .L303+96
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r0
	str	ip, [lr, r3, lsl #2]
	ldr	ip, .L303+96
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r0
	ldr	r3, [ip, r3, lsl #2]
	cmp	r3, #0
.L47:
	ldr	r3, .L303+92
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r0, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r3, [r0, r3, lsl #2]
	cmp	r3, #0
	bne	.L48
	ldr	r3, .L303+92
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L281
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r2, .L303+104
	smull	r1, r2, r3, r2
	asr	r2, r2, #1
	asr	r3, r3, #31
	sub	r3, r2, r3
	add	r3, r3, #1
	mov	r1, r3
	ldr	r0, .L303+40
	bl	printf
	mov	r3, r0
	cmp	r3, #0
	b	.L281
.L48:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L303+100
	str	r3, [r2]
.L44:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	cmp	r3, #80
	ble	.L52
	b	.L53
.L43:
	ldr	r3, .L303+100
	mov	r2, #0
	str	r2, [r3]
	b	.L54
.L60:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r2, .L303+88
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	blt	.L282
	ldr	r3, .L303+92
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r1, .L303+88
	ldr	r1, [r1, r3, lsl #2]
	ldr	r0, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r3, [r0, r3, lsl #2]
	asr	r3, r3, #10
	cmp	r3, #0
	bne	.L282
	ldr	r3, .L303+76
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L56
	ldr	r3, .L303+76
	ldr	r3, [r3]
	mov	r2, #1
	lsl	r2, r2, r3
	ldr	r3, .L303+76
	ldr	r3, [r3]
	lsl	r3, r3, #10
	orr	r1, r2, r3
	b	.L57
.L56:
	ldr	r1, .L303+84
.L57:
	ldr	r3, .L303+92
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r0, .L303+88
	ldr	r0, [r0, r3, lsl #2]
	ldr	ip, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r0
	str	r1, [ip, r3, lsl #2]
	ldr	r3, .L303+80
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L303+80
	str	r2, [r1]
	cmp	r3, #0
.L282:
	nop
	ldr	r3, .L303+100
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L303+100
	str	r3, [r2]
.L54:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	cmp	r3, #8
	ble	.L60
.L53:
	ldr	r3, .L303+100
	mov	r2, #0
	str	r2, [r3]
	b	.L61
.L64:
	mov	r3, #99
	cmp	r3, #0
	beq	.L62
	ldr	r2, .L303+84
	b	.L63
.L62:
	mvn	r2, #0
.L63:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r1, .L303+88
	str	r2, [r1, r3, lsl #2]
	ldr	r3, .L303+100
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L303+100
	str	r3, [r2]
.L61:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	cmp	r3, #8
	ble	.L64
	ldr	r3, .L303+100
	mov	r2, #0
	str	r2, [r3]
	b	.L65
.L74:
	mov	r3, #99
	cmp	r3, #0
	beq	.L66
	ldr	r3, .L303+92
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r0, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r0, [r0, r3, lsl #2]
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r3, .L303+104
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, .L303+88
	ldr	r3, [r3, r2, lsl #2]
	and	r3, r3, r0
	cmp	r3, #0
	bne	.L67
	ldr	r3, .L303+92
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L283
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r3, .L303+104
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	sub	r2, r1, r3
	add	r3, r2, #1
	mov	r1, r3
	ldr	r0, .L303+44
	bl	printf
	mov	r3, r0
	cmp	r3, #0
	b	.L283
.L67:
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r3, .L303+104
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, .L303+88
	ldr	r0, [r3, r2, lsl #2]
	ldr	r3, .L303+92
	ldr	r1, [r3]
	ldr	r3, .L303+100
	ldr	ip, [r3]
	ldr	lr, .L303+96
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r1, r3, #3
	sub	r1, r1, r3
	lsl	r3, r1, #2
	mov	r1, r3
	add	r3, r1, ip
	ldr	r3, [lr, r3, lsl #2]
	asr	r3, r3, #10
	mov	r1, #1
	lsl	r3, r1, r3
	mvn	r3, r3
	and	r3, r3, r0
	ldr	r1, .L303+88
	str	r3, [r1, r2, lsl #2]
	b	.L71
.L66:
	ldr	r3, .L303+92
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r0, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r2, [r0, r3, lsl #2]
	ldr	r3, .L303+76
	ldr	r3, [r3]
	asr	r3, r2, r3
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L71
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r3, .L303+104
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, .L303+88
	ldr	r3, [r3, r2, lsl #2]
	cmn	r3, #1
	bne	.L72
	ldr	r3, .L303+100
	ldr	r0, [r3]
	b	.L73
.L72:
	mvn	r0, #1
.L73:
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r3, .L303+104
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, .L303+88
	str	r0, [r3, r2, lsl #2]
.L71:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L303+100
	str	r3, [r2]
.L65:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	cmp	r3, #80
	ble	.L74
	mov	r3, #99
	cmp	r3, #0
	beq	.L75
	ldr	r3, .L303+100
	mov	r2, #0
	str	r2, [r3]
	b	.L76
.L84:
	ldr	r3, .L303+92
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r0, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r3, [r0, r3, lsl #2]
	asr	r3, r3, #10
	cmp	r3, #0
	bne	.L79
	ldr	r3, .L303+92
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r0, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	ip, [r0, r3, lsl #2]
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r3, .L303+104
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, .L303+88
	ldr	r3, [r3, r2, lsl #2]
	ldr	r2, .L303+92
	ldr	r1, [r2]
	ldr	r2, .L303+100
	ldr	r0, [r2]
	and	ip, ip, r3
	ldr	lr, .L303+96
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r0
	str	ip, [lr, r3, lsl #2]
	ldr	ip, .L303+96
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r0
	ldr	r3, [ip, r3, lsl #2]
	cmp	r3, #0
.L79:
	ldr	r3, .L303+92
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r0, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r3, [r0, r3, lsl #2]
	cmp	r3, #0
	bne	.L80
	ldr	r3, .L303+92
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L284
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r3, .L303+104
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	sub	r2, r1, r3
	add	r3, r2, #1
	mov	r1, r3
	ldr	r0, .L303+44
	bl	printf
	mov	r3, r0
	cmp	r3, #0
	b	.L284
.L80:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L303+100
	str	r3, [r2]
.L76:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	cmp	r3, #80
	ble	.L84
	b	.L85
.L75:
	ldr	r3, .L303+100
	mov	r2, #0
	str	r2, [r3]
	b	.L86
.L92:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r2, .L303+88
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	blt	.L285
	ldr	r3, .L303+92
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r1, .L303+88
	ldr	r1, [r1, r3, lsl #2]
	ldr	r0, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r3, [r0, r3, lsl #2]
	asr	r3, r3, #10
	cmp	r3, #0
	bne	.L285
	ldr	r3, .L303+76
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L88
	ldr	r3, .L303+76
	ldr	r3, [r3]
	mov	r2, #1
	lsl	r2, r2, r3
	ldr	r3, .L303+76
	ldr	r3, [r3]
	lsl	r3, r3, #10
	orr	r1, r2, r3
	b	.L89
.L88:
	ldr	r1, .L303+84
.L89:
	ldr	r3, .L303+92
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r0, .L303+88
	ldr	r0, [r0, r3, lsl #2]
	ldr	ip, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r0
	str	r1, [ip, r3, lsl #2]
	ldr	r3, .L303+80
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L303+80
	str	r2, [r1]
	cmp	r3, #0
.L285:
	nop
	ldr	r3, .L303+100
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L303+100
	str	r3, [r2]
.L86:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	cmp	r3, #8
	ble	.L92
.L85:
	ldr	r3, .L303+100
	mov	r2, #0
	str	r2, [r3]
	b	.L93
.L96:
	mov	r3, #98
	cmp	r3, #0
	beq	.L94
	ldr	r2, .L303+84
	b	.L95
.L94:
	mvn	r2, #0
.L95:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r1, .L303+88
	str	r2, [r1, r3, lsl #2]
	ldr	r3, .L303+100
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L303+100
	str	r3, [r2]
.L93:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	cmp	r3, #8
	ble	.L96
	ldr	r3, .L303+100
	mov	r2, #0
	str	r2, [r3]
	b	.L97
.L304:
	.align	2
.L303:
	.word	i
	.word	1103515245
	.word	1079263232
	.word	1105199104
	.word	z
	.word	424194301
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.word	1431655766
	.word	1272582903
	.word	.LC6
	.word	o
	.word	I
	.word	L
	.word	.LC7
	.word	l0
	.word	C
	.word	1022
	.word	c
	.word	O
	.word	S
	.word	l
	.word	954437177
.L106:
	mov	r3, #98
	cmp	r3, #0
	beq	.L98
	ldr	r3, .L303+92
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r0, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r0, [r0, r3, lsl #2]
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r3, .L303+104
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r3, r2, r3
	mov	r2, r3
	lsl	r2, r2, #3
	add	r2, r2, r3
	sub	r3, r1, r2
	ldr	r2, .L303+48
	smull	r1, r2, r3, r2
	asr	r3, r3, #31
	sub	r1, r2, r3
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r2, .L303+52
	smull	ip, r2, r3, r2
	asr	r2, r2, #3
	asr	r3, r3, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldr	r2, .L303+88
	ldr	r3, [r2, r3, lsl #2]
	and	r3, r3, r0
	cmp	r3, #0
	bne	.L99
	ldr	r3, .L303+92
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L286
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r3, .L303+104
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r3, r2, r3
	mov	r2, r3
	lsl	r2, r2, #3
	add	r2, r2, r3
	sub	r3, r1, r2
	ldr	r2, .L303+48
	smull	r1, r2, r3, r2
	asr	r3, r3, #31
	sub	r1, r2, r3
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r2, .L303+52
	smull	r0, r2, r3, r2
	asr	r2, r2, #3
	asr	r3, r3, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	add	r3, r3, #1
	mov	r1, r3
	ldr	r0, .L303+56
	bl	printf
	mov	r3, r0
	cmp	r3, #0
	b	.L286
.L99:
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r3, .L303+104
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r3, r2, r3
	mov	r2, r3
	lsl	r2, r2, #3
	add	r2, r2, r3
	sub	r3, r1, r2
	ldr	r2, .L303+48
	smull	r1, r2, r3, r2
	asr	r3, r3, #31
	sub	r0, r2, r3
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r2, .L303+52
	smull	r1, r2, r3, r2
	asr	r2, r2, #3
	asr	r3, r3, #31
	sub	r1, r2, r3
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	add	r3, r0, r3
	ldr	r2, .L303+88
	ldr	ip, [r2, r3, lsl #2]
	ldr	r3, .L303+92
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	lr, [r3]
	ldr	r4, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, lr
	ldr	r3, [r4, r3, lsl #2]
	asr	r3, r3, #10
	mov	r2, #1
	lsl	r3, r2, r3
	mvn	r2, r3
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	add	r3, r0, r3
	and	r2, r2, ip
	ldr	r1, .L303+88
	str	r2, [r1, r3, lsl #2]
	b	.L103
.L98:
	ldr	r3, .L303+92
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r0, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r2, [r0, r3, lsl #2]
	ldr	r3, .L303+76
	ldr	r3, [r3]
	asr	r3, r2, r3
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L103
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r3, .L303+104
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r3, r2, r3
	mov	r2, r3
	lsl	r2, r2, #3
	add	r2, r2, r3
	sub	r3, r1, r2
	ldr	r2, .L303+48
	smull	r1, r2, r3, r2
	asr	r3, r3, #31
	sub	r1, r2, r3
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r2, .L303+52
	smull	r0, r2, r3, r2
	asr	r2, r2, #3
	asr	r3, r3, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldr	r2, .L303+88
	ldr	r3, [r2, r3, lsl #2]
	cmn	r3, #1
	bne	.L104
	ldr	r3, .L303+100
	ldr	r0, [r3]
	b	.L105
.L104:
	mvn	r0, #1
.L105:
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r3, .L303+104
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r3, r2, r3
	mov	r2, r3
	lsl	r2, r2, #3
	add	r2, r2, r3
	sub	r3, r1, r2
	ldr	r2, .L303+48
	smull	r1, r2, r3, r2
	asr	r3, r3, #31
	sub	r1, r2, r3
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r2, .L303+52
	smull	ip, r2, r3, r2
	asr	r2, r2, #3
	asr	r3, r3, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldr	r2, .L303+88
	str	r0, [r2, r3, lsl #2]
.L103:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L303+100
	str	r3, [r2]
.L97:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	cmp	r3, #80
	ble	.L106
	mov	r3, #98
	cmp	r3, #0
	beq	.L107
	ldr	r3, .L303+100
	mov	r2, #0
	str	r2, [r3]
	b	.L108
.L116:
	ldr	r3, .L303+92
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r0, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r3, [r0, r3, lsl #2]
	asr	r3, r3, #10
	cmp	r3, #0
	bne	.L111
	ldr	r3, .L303+92
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r0, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	ip, [r0, r3, lsl #2]
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r3, .L303+104
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r3, r2, r3
	mov	r2, r3
	lsl	r2, r2, #3
	add	r2, r2, r3
	sub	r3, r1, r2
	ldr	r2, .L303+48
	smull	r1, r2, r3, r2
	asr	r3, r3, #31
	sub	r1, r2, r3
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r2, .L303+52
	smull	r0, r2, r3, r2
	asr	r2, r2, #3
	asr	r3, r3, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldr	r2, .L303+88
	ldr	r3, [r2, r3, lsl #2]
	ldr	r2, .L303+92
	ldr	r1, [r2]
	ldr	r2, .L303+100
	ldr	r0, [r2]
	and	ip, ip, r3
	ldr	lr, .L303+96
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r0
	str	ip, [lr, r3, lsl #2]
	ldr	ip, .L303+96
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r0
	ldr	r3, [ip, r3, lsl #2]
	cmp	r3, #0
.L111:
	ldr	r3, .L303+92
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r0, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r3, [r0, r3, lsl #2]
	cmp	r3, #0
	bne	.L112
	ldr	r3, .L303+92
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L287
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r3, .L303+104
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r3, r2, r3
	mov	r2, r3
	lsl	r2, r2, #3
	add	r2, r2, r3
	sub	r3, r1, r2
	ldr	r2, .L303+48
	smull	r1, r2, r3, r2
	asr	r3, r3, #31
	sub	r1, r2, r3
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r2, .L303+52
	smull	r0, r2, r3, r2
	asr	r2, r2, #3
	asr	r3, r3, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	add	r3, r3, #1
	mov	r1, r3
	ldr	r0, .L303+56
	bl	printf
	mov	r3, r0
	cmp	r3, #0
	b	.L287
.L112:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L303+100
	str	r3, [r2]
.L108:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	cmp	r3, #80
	ble	.L116
	b	.L117
.L107:
	ldr	r3, .L303+100
	mov	r2, #0
	str	r2, [r3]
	b	.L118
.L124:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r2, .L303+88
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	blt	.L288
	ldr	r3, .L303+92
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r1, .L303+88
	ldr	r1, [r1, r3, lsl #2]
	ldr	r0, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r3, [r0, r3, lsl #2]
	asr	r3, r3, #10
	cmp	r3, #0
	bne	.L288
	ldr	r3, .L303+76
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L120
	ldr	r3, .L303+76
	ldr	r3, [r3]
	mov	r2, #1
	lsl	r2, r2, r3
	ldr	r3, .L303+76
	ldr	r3, [r3]
	lsl	r3, r3, #10
	orr	r1, r2, r3
	b	.L121
.L120:
	ldr	r1, .L303+84
.L121:
	ldr	r3, .L303+92
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r0, .L303+88
	ldr	r0, [r0, r3, lsl #2]
	ldr	ip, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r0
	str	r1, [ip, r3, lsl #2]
	ldr	r3, .L303+80
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L303+80
	str	r2, [r1]
	cmp	r3, #0
.L288:
	nop
	ldr	r3, .L303+100
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L303+100
	str	r3, [r2]
.L118:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	cmp	r3, #8
	ble	.L124
.L117:
	ldr	r3, .L303+76
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L303+76
	ldr	r3, [r3]
	ldr	r2, .L303+80
	str	r3, [r2]
	ldr	r3, .L303+100
	mov	r2, #0
	str	r2, [r3]
	b	.L125
.L133:
	ldr	r3, .L303+92
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r0, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r3, [r0, r3, lsl #2]
	asr	r3, r3, #10
	cmp	r3, #0
	beq	.L126
	ldr	r3, .L303+76
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L303+76
	str	r3, [r2]
	ldr	r3, .L303+76
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L127
.L126:
	ldr	r3, .L303+92
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r0, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r2, [r0, r3, lsl #2]
	ldr	r3, .L303+84
	and	r3, r3, r2
	ldr	r2, .L303+60
	str	r3, [r2]
	ldr	r3, .L303+64
	mov	r2, #0
	str	r2, [r3]
	b	.L128
.L130:
	ldr	r3, .L303+64
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L303+64
	str	r3, [r2]
.L128:
	ldr	r3, .L303+60
	ldr	r3, [r3]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L129
	ldr	r3, .L303+60
	ldr	r3, [r3]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L303+60
	str	r2, [r3]
	ldr	r3, .L303+60
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L130
.L129:
	ldr	r3, .L303+60
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L127
	ldr	r3, .L303+92
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r0, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r1, [r0, r3, lsl #2]
	ldr	r3, .L303+64
	ldr	r3, [r3]
	lsl	r3, r3, #10
	ldr	r2, .L303+92
	ldr	r2, [r2]
	ldr	r0, .L303+100
	ldr	r0, [r0]
	orr	r1, r1, r3
	ldr	ip, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r0
	str	r1, [ip, r3, lsl #2]
	ldr	r3, .L303+80
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L303+80
	str	r2, [r1]
	cmp	r3, #0
.L127:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L303+100
	str	r3, [r2]
.L125:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	cmp	r3, #80
	ble	.L133
	ldr	r3, .L303+76
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L134
	ldr	r3, .L303+92
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L289
	ldr	r3, .L303+68
	ldr	r3, [r3]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L289
	ldr	r3, .L303+92
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L303+92
	str	r3, [r2]
	b	.L27
.L134:
	ldr	r3, .L303+76
	mov	r2, #1
	str	r2, [r3]
	b	.L137
.L234:
	ldr	r3, .L303+100
	mov	r2, #0
	str	r2, [r3]
	b	.L138
.L141:
	mov	r3, #0
	cmp	r3, #0
	beq	.L139
	ldr	r2, .L303+84
	b	.L140
.L139:
	mvn	r2, #0
.L140:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r1, .L303+88
	str	r2, [r1, r3, lsl #2]
	ldr	r3, .L303+100
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L303+100
	str	r3, [r2]
.L138:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	cmp	r3, #8
	ble	.L141
	ldr	r3, .L303+100
	mov	r2, #0
	str	r2, [r3]
	b	.L142
.L151:
	mov	r3, #0
	cmp	r3, #0
	beq	.L143
	ldr	r3, .L303+92
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r0, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r2, [r0, r3, lsl #2]
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r1, .L303+104
	smull	r0, r1, r3, r1
	asr	r1, r1, #1
	asr	r3, r3, #31
	sub	r3, r1, r3
	ldr	r1, .L303+88
	ldr	r3, [r1, r3, lsl #2]
	and	r3, r3, r2
	cmp	r3, #0
	bne	.L144
	ldr	r3, .L303+92
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L290
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r2, .L303+104
	smull	r1, r2, r3, r2
	asr	r2, r2, #1
	asr	r3, r3, #31
	sub	r3, r2, r3
	add	r3, r3, #1
	mov	r1, r3
	ldr	r0, .L303+72
	bl	printf
	mov	r3, r0
	cmp	r3, #0
	b	.L290
.L144:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r2, .L303+104
	smull	r1, r2, r3, r2
	asr	r2, r2, #1
	asr	r3, r3, #31
	sub	r1, r2, r3
	ldr	r3, .L303+88
	ldr	r0, [r3, r1, lsl #2]
	ldr	r3, .L303+92
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	ip, [r3]
	ldr	lr, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, ip
	ldr	r3, [lr, r3, lsl #2]
	asr	r3, r3, #10
	mov	r2, #1
	lsl	r3, r2, r3
	mvn	r3, r3
	and	r3, r3, r0
	ldr	r2, .L303+88
	str	r3, [r2, r1, lsl #2]
	b	.L148
.L143:
	ldr	r3, .L303+92
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r0, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r2, [r0, r3, lsl #2]
	ldr	r3, .L303+76
	ldr	r3, [r3]
	asr	r3, r2, r3
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L148
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r2, .L303+104
	smull	r1, r2, r3, r2
	asr	r2, r2, #1
	asr	r3, r3, #31
	sub	r3, r2, r3
	ldr	r2, .L303+88
	ldr	r3, [r2, r3, lsl #2]
	cmn	r3, #1
	bne	.L149
	ldr	r3, .L303+100
	ldr	r2, [r3]
	b	.L150
.L149:
	mvn	r2, #1
.L150:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r1, .L303+104
	smull	r0, r1, r3, r1
	asr	r1, r1, #1
	asr	r3, r3, #31
	sub	r3, r1, r3
	ldr	r1, .L303+88
	str	r2, [r1, r3, lsl #2]
.L148:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L303+100
	str	r3, [r2]
.L142:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	cmp	r3, #80
	ble	.L151
	mov	r3, #0
	cmp	r3, #0
	beq	.L152
	ldr	r3, .L303+100
	mov	r2, #0
	str	r2, [r3]
	b	.L153
.L161:
	ldr	r3, .L303+92
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r0, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r3, [r0, r3, lsl #2]
	asr	r3, r3, #10
	cmp	r3, #0
	bne	.L156
	ldr	r3, .L303+92
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r0, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r2, [r0, r3, lsl #2]
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r1, .L303+104
	smull	r0, r1, r3, r1
	asr	r1, r1, #1
	asr	r3, r3, #31
	sub	r3, r1, r3
	ldr	r1, .L303+88
	ldr	r3, [r1, r3, lsl #2]
	ldr	r1, .L303+92
	ldr	r1, [r1]
	ldr	r0, .L303+100
	ldr	r0, [r0]
	and	ip, r2, r3
	ldr	lr, .L303+96
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r0
	str	ip, [lr, r3, lsl #2]
	ldr	ip, .L303+96
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r0
	ldr	r3, [ip, r3, lsl #2]
	cmp	r3, #0
.L156:
	ldr	r3, .L303+92
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r0, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r3, [r0, r3, lsl #2]
	cmp	r3, #0
	bne	.L157
	ldr	r3, .L303+92
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L291
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r2, .L303+104
	smull	r1, r2, r3, r2
	asr	r2, r2, #1
	asr	r3, r3, #31
	sub	r3, r2, r3
	add	r3, r3, #1
	mov	r1, r3
	ldr	r0, .L303+72
	bl	printf
	mov	r3, r0
	cmp	r3, #0
	b	.L291
.L157:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L303+100
	str	r3, [r2]
.L153:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	cmp	r3, #80
	ble	.L161
	b	.L162
.L152:
	ldr	r3, .L303+100
	mov	r2, #0
	str	r2, [r3]
	b	.L163
.L169:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r2, .L303+88
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	blt	.L292
	ldr	r3, .L303+92
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r1, .L303+88
	ldr	r1, [r1, r3, lsl #2]
	ldr	r0, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r3, [r0, r3, lsl #2]
	asr	r3, r3, #10
	cmp	r3, #0
	bne	.L292
	ldr	r3, .L303+76
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L165
	ldr	r3, .L303+76
	ldr	r3, [r3]
	mov	r2, #1
	lsl	r2, r2, r3
	ldr	r3, .L303+76
	ldr	r3, [r3]
	lsl	r3, r3, #10
	orr	r1, r2, r3
	b	.L166
.L165:
	ldr	r1, .L303+84
.L166:
	ldr	r3, .L303+92
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r0, .L303+88
	ldr	r0, [r0, r3, lsl #2]
	ldr	ip, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r0
	str	r1, [ip, r3, lsl #2]
	ldr	r3, .L303+80
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L303+80
	str	r2, [r1]
	cmp	r3, #0
.L292:
	nop
	ldr	r3, .L303+100
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L303+100
	str	r3, [r2]
.L163:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	cmp	r3, #8
	ble	.L169
.L162:
	ldr	r3, .L303+100
	mov	r2, #0
	str	r2, [r3]
	b	.L170
.L173:
	mov	r3, #0
	cmp	r3, #0
	beq	.L171
	ldr	r2, .L303+84
	b	.L172
.L171:
	mvn	r2, #0
.L172:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	ldr	r1, .L303+88
	str	r2, [r1, r3, lsl #2]
	ldr	r3, .L303+100
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L303+100
	str	r3, [r2]
.L170:
	ldr	r3, .L303+100
	ldr	r3, [r3]
	cmp	r3, #8
	ble	.L173
	ldr	r3, .L303+100
	mov	r2, #0
	str	r2, [r3]
	b	.L174
.L183:
	mov	r3, #0
	cmp	r3, #0
	beq	.L175
	ldr	r3, .L303+92
	ldr	r2, [r3]
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r0, .L303+96
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r0, [r0, r3, lsl #2]
	ldr	r3, .L303+100
	ldr	r1, [r3]
	ldr	r3, .L303+104
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, .L305
	ldr	r3, [r3, r2, lsl #2]
	and	r3, r3, r0
	cmp	r3, #0
	bne	.L176
	ldr	r3, .L305+108
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L293
	ldr	r3, .L305+80
	ldr	r1, [r3]
	ldr	r3, .L305+48
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	sub	r2, r1, r3
	add	r3, r2, #1
	mov	r1, r3
	ldr	r0, .L305+4
	bl	printf
	mov	r3, r0
	cmp	r3, #0
	b	.L293
.L176:
	ldr	r3, .L305+80
	ldr	r1, [r3]
	ldr	r3, .L305+48
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, .L305
	ldr	r0, [r3, r2, lsl #2]
	ldr	r3, .L305+108
	ldr	r1, [r3]
	ldr	r3, .L305+80
	ldr	ip, [r3]
	ldr	lr, .L305+112
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r1, r3, #3
	sub	r1, r1, r3
	lsl	r3, r1, #2
	mov	r1, r3
	add	r3, r1, ip
	ldr	r3, [lr, r3, lsl #2]
	asr	r3, r3, #10
	mov	r1, #1
	lsl	r3, r1, r3
	mvn	r3, r3
	and	r3, r3, r0
	ldr	r1, .L305
	str	r3, [r1, r2, lsl #2]
	b	.L180
.L175:
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r3, .L305+80
	ldr	r1, [r3]
	ldr	r0, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r2, [r0, r3, lsl #2]
	ldr	r3, .L305+104
	ldr	r3, [r3]
	asr	r3, r2, r3
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L180
	ldr	r3, .L305+80
	ldr	r1, [r3]
	ldr	r3, .L305+48
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, .L305
	ldr	r3, [r3, r2, lsl #2]
	cmn	r3, #1
	bne	.L181
	ldr	r3, .L305+80
	ldr	r0, [r3]
	b	.L182
.L181:
	mvn	r0, #1
.L182:
	ldr	r3, .L305+80
	ldr	r1, [r3]
	ldr	r3, .L305+48
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, .L305
	str	r0, [r3, r2, lsl #2]
.L180:
	ldr	r3, .L305+80
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L305+80
	str	r3, [r2]
.L174:
	ldr	r3, .L305+80
	ldr	r3, [r3]
	cmp	r3, #80
	ble	.L183
	mov	r3, #0
	cmp	r3, #0
	beq	.L184
	ldr	r3, .L305+80
	mov	r2, #0
	str	r2, [r3]
	b	.L185
.L193:
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r3, .L305+80
	ldr	r1, [r3]
	ldr	r0, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r3, [r0, r3, lsl #2]
	asr	r3, r3, #10
	cmp	r3, #0
	bne	.L188
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r3, .L305+80
	ldr	r1, [r3]
	ldr	r0, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	ip, [r0, r3, lsl #2]
	ldr	r3, .L305+80
	ldr	r1, [r3]
	ldr	r3, .L305+48
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, .L305
	ldr	r3, [r3, r2, lsl #2]
	ldr	r2, .L305+108
	ldr	r1, [r2]
	ldr	r2, .L305+80
	ldr	r0, [r2]
	and	ip, ip, r3
	ldr	lr, .L305+112
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r0
	str	ip, [lr, r3, lsl #2]
	ldr	ip, .L305+112
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r0
	ldr	r3, [ip, r3, lsl #2]
	cmp	r3, #0
.L188:
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r3, .L305+80
	ldr	r1, [r3]
	ldr	r0, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r3, [r0, r3, lsl #2]
	cmp	r3, #0
	bne	.L189
	ldr	r3, .L305+108
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L294
	ldr	r3, .L305+80
	ldr	r1, [r3]
	ldr	r3, .L305+48
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	sub	r2, r1, r3
	add	r3, r2, #1
	mov	r1, r3
	ldr	r0, .L305+4
	bl	printf
	mov	r3, r0
	cmp	r3, #0
	b	.L294
.L189:
	ldr	r3, .L305+80
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L305+80
	str	r3, [r2]
.L185:
	ldr	r3, .L305+80
	ldr	r3, [r3]
	cmp	r3, #80
	ble	.L193
	b	.L194
.L184:
	ldr	r3, .L305+80
	mov	r2, #0
	str	r2, [r3]
	b	.L195
.L201:
	ldr	r3, .L305+80
	ldr	r3, [r3]
	ldr	r2, .L305
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	blt	.L295
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r3, .L305+80
	ldr	r3, [r3]
	ldr	r1, .L305
	ldr	r1, [r1, r3, lsl #2]
	ldr	r0, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r3, [r0, r3, lsl #2]
	asr	r3, r3, #10
	cmp	r3, #0
	bne	.L295
	ldr	r3, .L305+104
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L197
	ldr	r3, .L305+104
	ldr	r3, [r3]
	mov	r2, #1
	lsl	r2, r2, r3
	ldr	r3, .L305+104
	ldr	r3, [r3]
	lsl	r3, r3, #10
	orr	r1, r2, r3
	b	.L198
.L197:
	ldr	r1, .L305+12
.L198:
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r3, .L305+80
	ldr	r3, [r3]
	ldr	r0, .L305
	ldr	r0, [r0, r3, lsl #2]
	ldr	ip, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r0
	str	r1, [ip, r3, lsl #2]
	ldr	r3, .L305+8
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L305+8
	str	r2, [r1]
	cmp	r3, #0
.L295:
	nop
	ldr	r3, .L305+80
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L305+80
	str	r3, [r2]
.L195:
	ldr	r3, .L305+80
	ldr	r3, [r3]
	cmp	r3, #8
	ble	.L201
.L194:
	ldr	r3, .L305+80
	mov	r2, #0
	str	r2, [r3]
	b	.L202
.L205:
	mov	r3, #0
	cmp	r3, #0
	beq	.L203
	ldr	r2, .L305+12
	b	.L204
.L203:
	mvn	r2, #0
.L204:
	ldr	r3, .L305+80
	ldr	r3, [r3]
	ldr	r1, .L305
	str	r2, [r1, r3, lsl #2]
	ldr	r3, .L305+80
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L305+80
	str	r3, [r2]
.L202:
	ldr	r3, .L305+80
	ldr	r3, [r3]
	cmp	r3, #8
	ble	.L205
	ldr	r3, .L305+80
	mov	r2, #0
	str	r2, [r3]
	b	.L206
.L215:
	mov	r3, #0
	cmp	r3, #0
	beq	.L207
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r3, .L305+80
	ldr	r1, [r3]
	ldr	r0, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r0, [r0, r3, lsl #2]
	ldr	r3, .L305+80
	ldr	r1, [r3]
	ldr	r3, .L305+48
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r3, r2, r3
	mov	r2, r3
	lsl	r2, r2, #3
	add	r2, r2, r3
	sub	r3, r1, r2
	ldr	r2, .L305+44
	smull	r1, r2, r3, r2
	asr	r3, r3, #31
	sub	r1, r2, r3
	ldr	r3, .L305+80
	ldr	r3, [r3]
	ldr	r2, .L305+52
	smull	ip, r2, r3, r2
	asr	r2, r2, #3
	asr	r3, r3, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldr	r2, .L305
	ldr	r3, [r2, r3, lsl #2]
	and	r3, r3, r0
	cmp	r3, #0
	bne	.L208
	ldr	r3, .L305+108
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L296
	ldr	r3, .L305+80
	ldr	r1, [r3]
	ldr	r3, .L305+48
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r3, r2, r3
	mov	r2, r3
	lsl	r2, r2, #3
	add	r2, r2, r3
	sub	r3, r1, r2
	ldr	r2, .L305+44
	smull	r1, r2, r3, r2
	asr	r3, r3, #31
	sub	r1, r2, r3
	ldr	r3, .L305+80
	ldr	r3, [r3]
	ldr	r2, .L305+52
	smull	r0, r2, r3, r2
	asr	r2, r2, #3
	asr	r3, r3, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	add	r3, r3, #1
	mov	r1, r3
	ldr	r0, .L305+4
	bl	printf
	mov	r3, r0
	cmp	r3, #0
	b	.L296
.L208:
	ldr	r3, .L305+80
	ldr	r1, [r3]
	ldr	r3, .L305+48
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r3, r2, r3
	mov	r2, r3
	lsl	r2, r2, #3
	add	r2, r2, r3
	sub	r3, r1, r2
	ldr	r2, .L305+44
	smull	r1, r2, r3, r2
	asr	r3, r3, #31
	sub	r0, r2, r3
	ldr	r3, .L305+80
	ldr	r3, [r3]
	ldr	r2, .L305+52
	smull	r1, r2, r3, r2
	asr	r2, r2, #3
	asr	r3, r3, #31
	sub	r1, r2, r3
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	add	r3, r0, r3
	ldr	r2, .L305
	ldr	ip, [r2, r3, lsl #2]
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r3, .L305+80
	ldr	lr, [r3]
	ldr	r4, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, lr
	ldr	r3, [r4, r3, lsl #2]
	asr	r3, r3, #10
	mov	r2, #1
	lsl	r3, r2, r3
	mvn	r2, r3
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	add	r3, r0, r3
	and	r2, r2, ip
	ldr	r1, .L305
	str	r2, [r1, r3, lsl #2]
	b	.L212
.L207:
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r3, .L305+80
	ldr	r1, [r3]
	ldr	r0, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r2, [r0, r3, lsl #2]
	ldr	r3, .L305+104
	ldr	r3, [r3]
	asr	r3, r2, r3
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L212
	ldr	r3, .L305+80
	ldr	r1, [r3]
	ldr	r3, .L305+48
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r3, r2, r3
	mov	r2, r3
	lsl	r2, r2, #3
	add	r2, r2, r3
	sub	r3, r1, r2
	ldr	r2, .L305+44
	smull	r1, r2, r3, r2
	asr	r3, r3, #31
	sub	r1, r2, r3
	ldr	r3, .L305+80
	ldr	r3, [r3]
	ldr	r2, .L305+52
	smull	r0, r2, r3, r2
	asr	r2, r2, #3
	asr	r3, r3, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldr	r2, .L305
	ldr	r3, [r2, r3, lsl #2]
	cmn	r3, #1
	bne	.L213
	ldr	r3, .L305+80
	ldr	r0, [r3]
	b	.L214
.L213:
	mvn	r0, #1
.L214:
	ldr	r3, .L305+80
	ldr	r1, [r3]
	ldr	r3, .L305+48
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r3, r2, r3
	mov	r2, r3
	lsl	r2, r2, #3
	add	r2, r2, r3
	sub	r3, r1, r2
	ldr	r2, .L305+44
	smull	r1, r2, r3, r2
	asr	r3, r3, #31
	sub	r1, r2, r3
	ldr	r3, .L305+80
	ldr	r3, [r3]
	ldr	r2, .L305+52
	smull	ip, r2, r3, r2
	asr	r2, r2, #3
	asr	r3, r3, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldr	r2, .L305
	str	r0, [r2, r3, lsl #2]
.L212:
	ldr	r3, .L305+80
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L305+80
	str	r3, [r2]
.L206:
	ldr	r3, .L305+80
	ldr	r3, [r3]
	cmp	r3, #80
	ble	.L215
	mov	r3, #0
	cmp	r3, #0
	beq	.L216
	ldr	r3, .L305+80
	mov	r2, #0
	str	r2, [r3]
	b	.L217
.L225:
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r3, .L305+80
	ldr	r1, [r3]
	ldr	r0, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r3, [r0, r3, lsl #2]
	asr	r3, r3, #10
	cmp	r3, #0
	bne	.L220
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r3, .L305+80
	ldr	r1, [r3]
	ldr	r0, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	ip, [r0, r3, lsl #2]
	ldr	r3, .L305+80
	ldr	r1, [r3]
	ldr	r3, .L305+48
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r3, r2, r3
	mov	r2, r3
	lsl	r2, r2, #3
	add	r2, r2, r3
	sub	r3, r1, r2
	ldr	r2, .L305+44
	smull	r1, r2, r3, r2
	asr	r3, r3, #31
	sub	r1, r2, r3
	ldr	r3, .L305+80
	ldr	r3, [r3]
	ldr	r2, .L305+52
	smull	r0, r2, r3, r2
	asr	r2, r2, #3
	asr	r3, r3, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	ldr	r2, .L305
	ldr	r3, [r2, r3, lsl #2]
	ldr	r2, .L305+108
	ldr	r1, [r2]
	ldr	r2, .L305+80
	ldr	r0, [r2]
	and	ip, ip, r3
	ldr	lr, .L305+112
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r0
	str	ip, [lr, r3, lsl #2]
	ldr	ip, .L305+112
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r0
	ldr	r3, [ip, r3, lsl #2]
	cmp	r3, #0
.L220:
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r3, .L305+80
	ldr	r1, [r3]
	ldr	r0, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r3, [r0, r3, lsl #2]
	cmp	r3, #0
	bne	.L221
	ldr	r3, .L305+108
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L297
	ldr	r3, .L305+80
	ldr	r1, [r3]
	ldr	r3, .L305+48
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r3, r2, r3
	mov	r2, r3
	lsl	r2, r2, #3
	add	r2, r2, r3
	sub	r3, r1, r2
	ldr	r2, .L305+44
	smull	r1, r2, r3, r2
	asr	r3, r3, #31
	sub	r1, r2, r3
	ldr	r3, .L305+80
	ldr	r3, [r3]
	ldr	r2, .L305+52
	smull	r0, r2, r3, r2
	asr	r2, r2, #3
	asr	r3, r3, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r1, r3
	add	r3, r3, #1
	mov	r1, r3
	ldr	r0, .L305+4
	bl	printf
	mov	r3, r0
	cmp	r3, #0
	b	.L297
.L221:
	ldr	r3, .L305+80
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L305+80
	str	r3, [r2]
.L217:
	ldr	r3, .L305+80
	ldr	r3, [r3]
	cmp	r3, #80
	ble	.L225
	b	.L226
.L216:
	ldr	r3, .L305+80
	mov	r2, #0
	str	r2, [r3]
	b	.L227
.L233:
	ldr	r3, .L305+80
	ldr	r3, [r3]
	ldr	r2, .L305
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	blt	.L298
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r3, .L305+80
	ldr	r3, [r3]
	ldr	r1, .L305
	ldr	r1, [r1, r3, lsl #2]
	ldr	r0, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r3, [r0, r3, lsl #2]
	asr	r3, r3, #10
	cmp	r3, #0
	bne	.L298
	ldr	r3, .L305+104
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L229
	ldr	r3, .L305+104
	ldr	r3, [r3]
	mov	r2, #1
	lsl	r2, r2, r3
	ldr	r3, .L305+104
	ldr	r3, [r3]
	lsl	r3, r3, #10
	orr	r1, r2, r3
	b	.L230
.L229:
	ldr	r1, .L305+12
.L230:
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r3, .L305+80
	ldr	r3, [r3]
	ldr	r0, .L305
	ldr	r0, [r0, r3, lsl #2]
	ldr	ip, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r0
	str	r1, [ip, r3, lsl #2]
	ldr	r3, .L305+8
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L305+8
	str	r2, [r1]
	cmp	r3, #0
.L298:
	nop
	ldr	r3, .L305+80
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L305+80
	str	r3, [r2]
.L227:
	ldr	r3, .L305+80
	ldr	r3, [r3]
	cmp	r3, #8
	ble	.L233
.L226:
	ldr	r3, .L305+104
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L305+104
	str	r3, [r2]
.L137:
	ldr	r3, .L305+104
	ldr	r3, [r3]
	cmp	r3, #9
	ble	.L234
	ldr	r3, .L305+8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L299
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r1, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #4
	mov	r2, r3
	add	r3, r1, r2
	add	r3, r3, #332
	ldr	r3, [r3]
	ldr	r2, .L305+16
	str	r3, [r2]
	ldr	r3, .L305+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L236
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r1, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #4
	mov	r2, r3
	add	r3, r1, r2
	add	r3, r3, #324
	ldr	r3, [r3]
	b	.L237
.L236:
	mov	r3, #0
.L237:
	ldr	r2, .L305+80
	str	r3, [r2]
	ldr	r3, .L305+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L238
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r1, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #4
	mov	r2, r3
	add	r3, r1, r2
	add	r3, r3, #328
	ldr	r1, [r3]
	ldr	r3, .L305+48
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	sub	r2, r1, r3
	add	r3, r2, #1
	b	.L239
.L238:
	ldr	r3, .L305+24
	ldr	r3, [r3]
	ldr	r2, .L305+20
	mul	r3, r2, r3
	add	r3, r3, #12288
	add	r3, r3, #57
	bic	r3, r3, #-2147483648
	ldr	r2, .L305+24
	str	r3, [r2]
	ldr	r3, .L305+24
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, #0
	ldr	r3, .L305+28
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L305+32
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r1, r0
	ldr	r3, .L305+48
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, .L305+108
	ldr	r1, [r3]
	add	r0, r2, #1
	ldr	ip, .L305+112
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #4
	mov	r2, r3
	add	r3, ip, r2
	add	r3, r3, #332
	str	r0, [r3]
	ldr	r0, .L305+112
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #4
	mov	r2, r3
	add	r3, r0, r2
	add	r3, r3, #332
	ldr	r3, [r3]
.L239:
	ldr	r2, .L305+40
	str	r3, [r2]
	b	.L240
.L306:
	.align	2
.L305:
	.word	c
	.word	.LC7
	.word	C
	.word	1022
	.word	o
	.word	1103515245
	.word	i
	.word	1079263232
	.word	1105199104
	.word	1023
	.word	I
	.word	1431655766
	.word	954437177
	.word	1272582903
	.word	424194301
	.word	z
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	.LC3
	.word	l
	.word	.LC8
	.word	.LC9
	.word	w
	.word	.LC10
	.word	L
	.word	l0
	.word	O
	.word	S
.L249:
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r3, .L305+80
	ldr	r1, [r3]
	ldr	r0, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r3, [r0, r3, lsl #2]
	asr	r3, r3, #10
	cmp	r3, #0
	bne	.L241
.L248:
	ldr	r3, .L305+104
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L305+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L242
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r1, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #4
	mov	r2, r3
	add	r3, r1, r2
	add	r3, r3, #332
	ldr	r2, [r3]
	ldr	r3, .L305+40
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L300
.L242:
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r3, .L305+80
	ldr	r1, [r3]
	ldr	r0, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r2, [r0, r3, lsl #2]
	ldr	r3, .L305+40
	ldr	r3, [r3]
	asr	r3, r2, r3
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L243
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r3, .L305+40
	ldr	r1, [r3]
	ldr	r0, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #4
	mov	r2, r3
	add	r3, r0, r2
	add	r3, r3, #328
	str	r1, [r3]
	ldr	r3, .L305+108
	ldr	r2, [r3]
	add	r3, r2, #1
	ldr	r1, .L305+108
	str	r3, [r1]
	ldr	r3, .L305+80
	ldr	r1, [r3]
	ldr	r0, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #4
	mov	r2, r3
	add	r3, r0, r2
	add	r3, r3, #324
	str	r1, [r3]
	ldr	r3, .L305+108
	ldr	r3, [r3]
	sub	r1, r3, #1
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r0, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #4
	mov	r2, r3
	add	ip, r0, r2
	ldr	r0, .L305+112
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #4
	mov	r2, r3
	add	r3, r0, r2
	mov	r0, ip
	mov	r1, r3
	mov	r3, #336
	mov	r2, r3
	bl	memcpy
	ldr	r3, .L305+40
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L244
	ldr	r3, .L305+40
	ldr	r3, [r3]
	mov	r2, #1
	lsl	r2, r2, r3
	ldr	r3, .L305+40
	ldr	r3, [r3]
	lsl	r3, r3, #10
	orr	r1, r2, r3
	b	.L245
.L244:
	ldr	r1, .L305+12
.L245:
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r3, .L305+80
	ldr	r0, [r3]
	ldr	ip, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r0
	str	r1, [ip, r3, lsl #2]
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r3, .L305+92
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L301
	ldr	r3, .L305+108
	ldr	r3, [r3]
	ldr	r2, .L305+92
	str	r3, [r2]
	ldr	r3, .L305+92
	ldr	r3, [r3]
	cmp	r3, #0
	b	.L301
.L243:
	ldr	r3, .L305+40
	ldr	r1, [r3]
	ldr	r3, .L305+48
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	sub	r2, r1, r3
	add	r3, r2, #1
	ldr	r2, .L305+40
	str	r3, [r2]
	ldr	r3, .L305+16
	mov	r2, #1
	str	r2, [r3]
	b	.L248
.L241:
	ldr	r3, .L305+80
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L305+80
	str	r3, [r2]
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r1, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #4
	mov	r2, r3
	add	r3, r1, r2
	add	r3, r3, #332
	ldr	r3, [r3]
	ldr	r2, .L305+40
	str	r3, [r2]
	ldr	r3, .L305+16
	mov	r2, #0
	str	r2, [r3]
.L240:
	ldr	r3, .L305+80
	ldr	r3, [r3]
	cmp	r3, #80
	ble	.L249
.L299:
	nop
	b	.L235
.L301:
	nop
.L235:
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r1, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #4
	mov	r2, r3
	add	r3, r1, r2
	add	r3, r3, #332
	mov	r2, #0
	str	r2, [r3]
	b	.L27
.L280:
	nop
	b	.L38
.L281:
	nop
	b	.L38
.L283:
	nop
	b	.L38
.L284:
	nop
	b	.L38
.L286:
	nop
	b	.L38
.L287:
	nop
	b	.L38
.L290:
	nop
	b	.L38
.L291:
	nop
	b	.L38
.L293:
	nop
	b	.L38
.L294:
	nop
	b	.L38
.L296:
	nop
	b	.L38
.L297:
	nop
.L38:
	ldr	r3, .L305+108
	ldr	r3, [r3]
	ldr	r2, .L305+104
	str	r3, [r2]
	ldr	r3, .L305+104
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L250
	ldr	r3, .L305+100
	mov	r2, #0
	str	r2, [r3]
	b	.L277
.L250:
	ldr	r3, .L305+108
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L305+108
	str	r3, [r2]
	ldr	r3, .L305+108
	ldr	r1, [r3]
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r0, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #4
	mov	r2, r3
	add	r3, r0, r2
	add	r3, r3, #324
	ldr	r0, [r3]
	ldr	ip, .L305+112
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r0
	ldr	lr, [ip, r3, lsl #2]
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r1, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #4
	mov	r2, r3
	add	r3, r1, r2
	add	r3, r3, #328
	ldr	r3, [r3]
	mov	r2, #1
	lsl	r3, r2, r3
	mvn	r0, r3
	ldr	r3, .L305+108
	ldr	r1, [r3]
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	ip, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #4
	mov	r2, r3
	add	r3, ip, r2
	add	r3, r3, #324
	ldr	ip, [r3]
	and	r0, r0, lr
	ldr	lr, .L305+112
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, ip
	str	r0, [lr, r3, lsl #2]
	b	.L279
.L289:
	nop
	b	.L277
.L300:
	nop
.L136:
.L277:
	ldr	r3, .L305+100
	ldr	r3, [r3]
	cmp	r3, #2
	beq	.L251
	cmp	r3, #3
	beq	.L252
	b	.L253
.L251:
	ldr	r3, .L305+104
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L254
.L252:
	ldr	r3, .L305+108
	mov	r2, #82
	str	r2, [r3]
	ldr	r3, .L305+24
	ldr	r3, [r3]
	ldr	r2, .L305+20
	mul	r3, r2, r3
	add	r3, r3, #12288
	add	r3, r3, #57
	bic	r3, r3, #-2147483648
	ldr	r2, .L305+24
	str	r3, [r2]
	ldr	r3, .L305+24
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, #0
	ldr	r3, .L305+28
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L305+32
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r1, r0
	ldr	r3, .L305+56
	smull	r2, r3, r1, r3
	asr	r2, r3, #3
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r2, r3, #3
	add	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, .L305+80
	str	r2, [r3]
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r3, .L305+80
	ldr	r1, [r3]
	ldr	r0, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #4
	mov	r2, r3
	add	r3, r0, r2
	add	r3, r3, #328
	str	r1, [r3]
	b	.L255
.L302:
	nop
.L256:
	ldr	r3, .L305+104
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r3, .L305+80
	ldr	r1, [r3]
	ldr	r0, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r3, [r0, r3, lsl #2]
	ldr	r2, .L305+108
	ldr	r2, [r2]
	asr	r1, r3, #10
	ldr	r0, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #4
	mov	r2, r3
	add	r3, r0, r2
	add	r3, r3, #332
	str	r1, [r3]
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r3, .L305+80
	ldr	r1, [r3]
	ldr	r0, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r3, [r0, r3, lsl #2]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L257
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r3, .L305+80
	ldr	r1, [r3]
	ldr	r0, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r2, .L305+36
	str	r2, [r0, r3, lsl #2]
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r3, .L305+80
	ldr	r1, [r3]
	ldr	r0, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #4
	mov	r2, r3
	add	r3, r0, r2
	add	r3, r3, #324
	str	r1, [r3]
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r0, .L305+112
	ldr	r1, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #4
	mov	r2, r3
	add	r3, r1, r2
	mov	r1, r3
	mov	r3, #336
	mov	r2, r3
	bl	memcpy
	ldr	r3, .L305+108
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L305+108
	ldr	r3, [r3]
	ldr	r2, .L305+92
	str	r3, [r2]
	ldr	r3, .L305+100
	mov	r2, #2
	str	r2, [r3]
	b	.L235
.L257:
	ldr	r3, .L305+80
	ldr	r3, [r3]
	add	r1, r3, #1
	ldr	r3, .L305+56
	smull	r2, r3, r1, r3
	asr	r2, r3, #3
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r2, r3, #3
	add	r3, r3, r2
	sub	r2, r1, r3
	ldr	r3, .L305+80
	str	r2, [r3]
.L255:
	ldr	r3, .L305+104
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L302
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r1, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #4
	mov	r2, r3
	add	r3, r1, r2
	add	r3, r3, #328
	ldr	r2, [r3]
	ldr	r3, .L305+80
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L302
	ldr	r3, .L305+100
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L305+104
	mov	r2, #1
	str	r2, [r3]
	b	.L253
.L254:
	ldr	r3, .L305+108
	mov	r2, #82
	str	r2, [r3]
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r1, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #4
	mov	r2, r3
	add	r3, r1, r2
	add	r3, r3, #324
	ldr	r3, [r3]
	ldr	r2, .L305+80
	str	r3, [r2]
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r1, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #4
	mov	r2, r3
	add	r3, r1, r2
	add	r3, r3, #332
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L258
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r1, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #4
	mov	r2, r3
	add	r3, r1, r2
	add	r3, r3, #332
	ldr	r3, [r3]
	mov	r2, #1
	lsl	r1, r2, r3
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r0, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #4
	mov	r2, r3
	add	r3, r0, r2
	add	r3, r3, #332
	ldr	r3, [r3]
	lsl	r3, r3, #10
	orr	r3, r1, r3
	orr	r1, r3, #1
	b	.L259
.L258:
	ldr	r1, .L305+36
.L259:
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r3, .L305+80
	ldr	r0, [r3]
	ldr	ip, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r0
	str	r1, [ip, r3, lsl #2]
	b	.L256
.L253:
	ldr	r0, .L305+64
	bl	puts
	ldr	r3, .L305+80
	mov	r2, #0
	str	r2, [r3]
	b	.L260
.L271:
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r3, .L305+80
	ldr	r1, [r3]
	ldr	r0, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #2
	mov	r2, r3
	add	r3, r2, r1
	ldr	r3, [r0, r3, lsl #2]
	asr	r3, r3, #10
	ldr	r2, .L305+40
	str	r3, [r2]
	ldr	r3, .L305+40
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L261
	ldr	r3, .L305+40
	ldr	r3, [r3]
	orr	r0, r3, #48
	b	.L262
.L261:
	mov	r0, #46
.L262:
	ldr	r3, .L305+80
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L305+80
	str	r3, [r2]
	ldr	r3, .L305+80
	ldr	r1, [r3]
	ldr	r3, .L305+44
	smull	ip, r2, r3, r1
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	sub	r2, r1, r3
	cmp	r2, #0
	bne	.L263
	ldr	r3, .L305+80
	ldr	r1, [r3]
	ldr	r3, .L305+48
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	sub	r2, r1, r3
	cmp	r2, #0
	bne	.L264
	ldr	r3, .L305+80
	ldr	r1, [r3]
	ldr	r3, .L305+52
	smull	r2, r3, r1, r3
	asr	r2, r3, #3
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	add	r3, r3, r2
	sub	r2, r1, r3
	cmp	r2, #0
	bne	.L265
	ldr	r3, .L305+80
	ldr	r1, [r3]
	ldr	r3, .L305+56
	smull	r2, r3, r1, r3
	asr	r2, r3, #3
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r2, r3, #3
	add	r3, r3, r2
	sub	r2, r1, r3
	cmp	r2, #0
	beq	.L266
	ldr	r3, .L305+60
	b	.L270
.L266:
	ldr	r3, .L305+64
	b	.L270
.L265:
	ldr	r3, .L305+64
	b	.L270
.L264:
	ldr	r3, .L305+68
	b	.L270
.L263:
	ldr	r3, .L305+72
.L270:
	mov	r2, r3
	mov	r1, r0
	ldr	r0, .L305+76
	bl	printf
.L260:
	ldr	r3, .L305+80
	ldr	r3, [r3]
	cmp	r3, #80
	ble	.L271
	ldr	r3, .L305+104
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L272
	ldr	r1, .L305+84
	b	.L273
.L272:
	ldr	r1, .L305+88
.L273:
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r3, .L305+92
	ldr	r3, [r3]
	ldr	r0, .L305+96
	bl	printf
	ldr	r3, .L305+100
	ldr	r3, [r3]
	orr	r3, r3, #2
	ldr	r2, .L305+100
	str	r3, [r2]
	ldr	r3, .L305+100
	ldr	r3, [r3]
	cmp	r3, #3
	bne	.L274
	ldr	r3, .L305+104
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L275
.L274:
	ldr	r3, .L305+104
	ldr	r3, [r3]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	b	.L278
.L275:
	ldr	r3, .L305+108
	ldr	r2, [r3]
	ldr	r3, .L305+112
	add	r3, r3, #24576
	mov	r0, r3
	ldr	r1, .L305+112
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #3
	sub	r2, r2, r3
	lsl	r3, r2, #4
	mov	r2, r3
	add	r2, r1, r2
	add	r3, r0, #2976
	mov	r1, r2
	mov	r2, #336
	mov	r0, r3
	bl	memcpy
	b	.L277
.L278:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
