	.file	"583803.c"
	.intel_syntax noprefix
	.text
	.globl	flag
	.bss
	.align 4
	.type	flag, @object
	.size	flag, 4
flag:
	.zero	4
	.globl	max
	.data
	.align 4
	.type	max, @object
	.size	max, 4
max:
	.long	21
	.globl	card
	.section	.rodata
.LC0:
	.string	"hundred"
.LC1:
	.string	"thousand"
.LC2:
	.string	"million"
.LC3:
	.string	"billion"
.LC4:
	.string	"trillion"
.LC5:
	.string	"quadrillion"
.LC6:
	.string	"quintillion"
.LC7:
	.string	"sextillion"
.LC8:
	.string	"septillion"
.LC9:
	.string	"octillion"
.LC10:
	.string	"nonillion"
.LC11:
	.string	"decillion"
.LC12:
	.string	"undecillion"
.LC13:
	.string	"duodecillion"
.LC14:
	.string	"tredecillion"
.LC15:
	.string	"quattuordecillion"
.LC16:
	.string	"quindecillion"
.LC17:
	.string	"sexdecillion"
.LC18:
	.string	"septendecillion"
.LC19:
	.string	"octodecillion"
.LC20:
	.string	"novemdecillion"
.LC21:
	.string	"vigintillion"
	.section	.data.rel.local,"aw"
	.align 32
	.type	card, @object
	.size	card, 176
card:
	.quad	.LC0
	.quad	.LC1
	.quad	.LC2
	.quad	.LC3
	.quad	.LC4
	.quad	.LC5
	.quad	.LC6
	.quad	.LC7
	.quad	.LC8
	.quad	.LC9
	.quad	.LC10
	.quad	.LC11
	.quad	.LC12
	.quad	.LC13
	.quad	.LC14
	.quad	.LC15
	.quad	.LC16
	.quad	.LC17
	.quad	.LC18
	.quad	.LC19
	.quad	.LC20
	.quad	.LC21
	.globl	unit
	.section	.rodata
.LC22:
	.string	"zero"
.LC23:
	.string	"one"
.LC24:
	.string	"two"
.LC25:
	.string	"three"
.LC26:
	.string	"four"
.LC27:
	.string	"five"
.LC28:
	.string	"six"
.LC29:
	.string	"seven"
.LC30:
	.string	"eight"
.LC31:
	.string	"nine"
	.section	.data.rel.local
	.align 32
	.type	unit, @object
	.size	unit, 80
unit:
	.quad	.LC22
	.quad	.LC23
	.quad	.LC24
	.quad	.LC25
	.quad	.LC26
	.quad	.LC27
	.quad	.LC28
	.quad	.LC29
	.quad	.LC30
	.quad	.LC31
	.globl	teen
	.section	.rodata
.LC32:
	.string	"ten"
.LC33:
	.string	"eleven"
.LC34:
	.string	"twelve"
.LC35:
	.string	"thirteen"
.LC36:
	.string	"fourteen"
.LC37:
	.string	"fifteen"
.LC38:
	.string	"sixteen"
.LC39:
	.string	"seventeen"
.LC40:
	.string	"eighteen"
.LC41:
	.string	"nineteen"
	.section	.data.rel.local
	.align 32
	.type	teen, @object
	.size	teen, 80
teen:
	.quad	.LC32
	.quad	.LC33
	.quad	.LC34
	.quad	.LC35
	.quad	.LC36
	.quad	.LC37
	.quad	.LC38
	.quad	.LC39
	.quad	.LC40
	.quad	.LC41
	.globl	decade
	.section	.rodata
.LC42:
	.string	"twenty"
.LC43:
	.string	"thirty"
.LC44:
	.string	"forty"
.LC45:
	.string	"fifty"
.LC46:
	.string	"sixty"
.LC47:
	.string	"seventy"
.LC48:
	.string	"eighty"
.LC49:
	.string	"ninety"
	.section	.data.rel.local
	.align 32
	.type	decade, @object
	.size	decade, 80
decade:
	.quad	.LC22
	.quad	.LC32
	.quad	.LC42
	.quad	.LC43
	.quad	.LC44
	.quad	.LC45
	.quad	.LC46
	.quad	.LC47
	.quad	.LC48
	.quad	.LC49
	.globl	line
	.bss
	.align 32
	.type	line, @object
	.size	line, 100
line:
	.zero	100
	.section	.rodata
.LC50:
	.string	"%s"
	.text
	.globl	print
	.type	print, @function
print:
.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	QWORD PTR -8[rbp], rdi
	mov	eax, DWORD PTR flag[rip]
	test	eax, eax
	je	.L2
	mov	edi, 32
	call	putchar@PLT
.L2:
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC50[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR flag[rip], 1
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	print, .-print
	.globl	ones
	.type	ones, @function
ones:
.LFB7:
	.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
	cmp	DWORD PTR -4[rbp], 48
	je	.L6
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, 48
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, unit[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rdi, rax
	mov	eax, 0
	call	print
	jmp	.L3
.L6:
	nop
.L3:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	ones, .-ones
	.globl	tens
	.type	tens, @function
tens:
.LFB8:
	.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	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	eax, 48
	je	.L13
	cmp	eax, 49
	jne	.L12
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	sub	eax, 48
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, teen[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rdi, rax
	mov	eax, 0
	call	print
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 2
	mov	BYTE PTR [rax], 48
	jmp	.L7
.L12:
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	sub	eax, 48
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, decade[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rdi, rax
	mov	eax, 0
	call	print
	jmp	.L7
.L13:
	nop
.L7:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	tens, .-tens
	.globl	digit
	.type	digit, @function
digit:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	cmp	DWORD PTR -4[rbp], 47
	jle	.L15
	cmp	DWORD PTR -4[rbp], 57
	jle	.L16
.L15:
	mov	eax, 0
	jmp	.L17
.L16:
	mov	eax, 1
.L17:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	digit, .-digit
	.section	.rodata
.LC51:
	.string	"."
	.text
	.globl	nline
	.type	nline, @function
nline:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR flag[rip]
	test	eax, eax
	je	.L19
	lea	rdi, .LC51[rip]
	call	puts@PLT
.L19:
	mov	DWORD PTR flag[rip], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	nline, .-nline
	.globl	cprint
	.type	cprint, @function
cprint:
.LFB11:
	.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	QWORD PTR -8[rbp], rdi
	mov	eax, DWORD PTR flag[rip]
	test	eax, eax
	je	.L22
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	print
.L22:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	cprint, .-cprint
	.globl	conv
	.type	conv, @function
conv:
.LFB12:
	.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	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	eax, DWORD PTR max[rip]
	cmp	DWORD PTR -12[rbp], eax
	jle	.L25
	mov	ecx, DWORD PTR max[rip]
	mov	eax, DWORD PTR -12[rbp]
	sub	eax, ecx
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	mov	eax, 0
	call	conv
	mov	eax, DWORD PTR max[rip]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, card[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rdi, rax
	mov	eax, 0
	call	print
	mov	eax, 0
	call	nline
	mov	ecx, DWORD PTR max[rip]
	mov	eax, DWORD PTR -12[rbp]
	sub	eax, ecx
	mov	edx, eax
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	cdqe
	add	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR max[rip]
	mov	DWORD PTR -12[rbp], eax
	jmp	.L25
.L26:
	sub	DWORD PTR -12[rbp], 1
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 1
	mov	rdi, rax
	mov	eax, 0
	call	conv
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, card[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rdi, rax
	mov	eax, 0
	call	cprint
	mov	eax, 0
	call	nline
	add	QWORD PTR -8[rbp], 3
.L25:
	cmp	DWORD PTR -12[rbp], 1
	jg	.L26
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	mov	eax, 0
	call	ones
	mov	rax, QWORD PTR card[rip]
	mov	rdi, rax
	mov	eax, 0
	call	cprint
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	tens
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	mov	eax, 0
	call	ones
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	conv, .-conv
	.section	.rodata
.LC52:
	.string	"..."
	.text
	.globl	main
	.type	main, @function
main:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r12
	push	rbx
	sub	rsp, 16
	.cfi_offset 12, -24
	.cfi_offset 3, -32
	mov	r12d, 0
	jmp	.L28
.L40:
	mov	edi, ebx
	mov	eax, 0
	call	digit
	test	eax, eax
	jne	.L29
	cmp	ebx, 46
	sete	al
	movzx	r12d, al
	mov	edi, ebx
	call	putchar@PLT
	jmp	.L28
.L29:
	test	r12d, r12d
	je	.L30
	jmp	.L31
.L32:
	mov	edi, 32
	call	putchar@PLT
	mov	edi, ebx
	call	putchar@PLT
	call	getchar@PLT
	mov	ebx, eax
	cmp	ebx, -1
	jne	.L31
	mov	edi, 1
	call	exit@PLT
.L31:
	mov	edi, ebx
	mov	eax, 0
	call	digit
	test	eax, eax
	jne	.L32
	mov	edi, 32
	call	putchar@PLT
	jmp	.L33
.L30:
	mov	edi, 32
	call	putchar@PLT
	mov	r12d, 0
	mov	eax, r12d
	lea	r12d, 1[rax]
	cdqe
	lea	rdx, line[rip]
	mov	BYTE PTR [rax+rdx], 48
	mov	eax, r12d
	lea	r12d, 1[rax]
	cdqe
	lea	rdx, line[rip]
	mov	BYTE PTR [rax+rdx], 48
	jmp	.L34
.L35:
	call	getchar@PLT
	mov	ebx, eax
	cmp	ebx, -1
	jne	.L34
	mov	edi, 1
	call	exit@PLT
.L34:
	cmp	ebx, 48
	je	.L35
	jmp	.L36
.L38:
	cmp	r12d, 97
	jg	.L37
	mov	eax, r12d
	lea	r12d, 1[rax]
	mov	ecx, ebx
	cdqe
	lea	rdx, line[rip]
	mov	BYTE PTR [rax+rdx], cl
.L37:
	call	getchar@PLT
	mov	ebx, eax
	cmp	ebx, -1
	jne	.L36
	mov	edi, 1
	call	exit@PLT
.L36:
	mov	edi, ebx
	mov	eax, 0
	call	digit
	test	eax, eax
	jne	.L38
	movsx	rax, r12d
	lea	rdx, line[rip]
	mov	BYTE PTR [rax+rdx], 0
	movsx	rax, r12d
	imul	rax, rax, 1431655766
	shr	rax, 32
	mov	edx, r12d
	sar	edx, 31
	sub	eax, edx
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	jne	.L39
	lea	rdi, .LC22[rip]
	mov	eax, 0
	call	print
	jmp	.L33
.L39:
	movsx	rcx, r12d
	mov	edx, DWORD PTR -20[rbp]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	cdqe
	sub	rcx, rax
	mov	rdx, rcx
	lea	rax, line[rip]
	add	rdx, rax
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, eax
	mov	rdi, rdx
	mov	eax, 0
	call	conv
.L33:
	cmp	ebx, 46
	sete	al
	movzx	r12d, al
	mov	eax, 0
	call	nline
	lea	rdi, .LC52[rip]
	call	puts@PLT
	cmp	ebx, 10
	je	.L28
	mov	edi, ebx
	call	putchar@PLT
.L28:
	call	getchar@PLT
	mov	ebx, eax
	cmp	ebx, -1
	jne	.L40
	mov	eax, 0
	add	rsp, 16
	pop	rbx
	pop	r12
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	main, .-main
	.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	"583803.c"
	.text
	.comm	flag,4,4
	.global	max
	.data
	.align	2
	.type	max, %object
	.size	max, 4
max:
	.word	21
	.global	card
	.section	.rodata
	.align	2
.LC0:
	.ascii	"hundred\000"
	.align	2
.LC1:
	.ascii	"thousand\000"
	.align	2
.LC2:
	.ascii	"million\000"
	.align	2
.LC3:
	.ascii	"billion\000"
	.align	2
.LC4:
	.ascii	"trillion\000"
	.align	2
.LC5:
	.ascii	"quadrillion\000"
	.align	2
.LC6:
	.ascii	"quintillion\000"
	.align	2
.LC7:
	.ascii	"sextillion\000"
	.align	2
.LC8:
	.ascii	"septillion\000"
	.align	2
.LC9:
	.ascii	"octillion\000"
	.align	2
.LC10:
	.ascii	"nonillion\000"
	.align	2
.LC11:
	.ascii	"decillion\000"
	.align	2
.LC12:
	.ascii	"undecillion\000"
	.align	2
.LC13:
	.ascii	"duodecillion\000"
	.align	2
.LC14:
	.ascii	"tredecillion\000"
	.align	2
.LC15:
	.ascii	"quattuordecillion\000"
	.align	2
.LC16:
	.ascii	"quindecillion\000"
	.align	2
.LC17:
	.ascii	"sexdecillion\000"
	.align	2
.LC18:
	.ascii	"septendecillion\000"
	.align	2
.LC19:
	.ascii	"octodecillion\000"
	.align	2
.LC20:
	.ascii	"novemdecillion\000"
	.align	2
.LC21:
	.ascii	"vigintillion\000"
	.data
	.align	2
	.type	card, %object
	.size	card, 88
card:
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.word	.LC12
	.word	.LC13
	.word	.LC14
	.word	.LC15
	.word	.LC16
	.word	.LC17
	.word	.LC18
	.word	.LC19
	.word	.LC20
	.word	.LC21
	.global	unit
	.section	.rodata
	.align	2
.LC22:
	.ascii	"zero\000"
	.align	2
.LC23:
	.ascii	"one\000"
	.align	2
.LC24:
	.ascii	"two\000"
	.align	2
.LC25:
	.ascii	"three\000"
	.align	2
.LC26:
	.ascii	"four\000"
	.align	2
.LC27:
	.ascii	"five\000"
	.align	2
.LC28:
	.ascii	"six\000"
	.align	2
.LC29:
	.ascii	"seven\000"
	.align	2
.LC30:
	.ascii	"eight\000"
	.align	2
.LC31:
	.ascii	"nine\000"
	.data
	.align	2
	.type	unit, %object
	.size	unit, 40
unit:
	.word	.LC22
	.word	.LC23
	.word	.LC24
	.word	.LC25
	.word	.LC26
	.word	.LC27
	.word	.LC28
	.word	.LC29
	.word	.LC30
	.word	.LC31
	.global	teen
	.section	.rodata
	.align	2
.LC32:
	.ascii	"ten\000"
	.align	2
.LC33:
	.ascii	"eleven\000"
	.align	2
.LC34:
	.ascii	"twelve\000"
	.align	2
.LC35:
	.ascii	"thirteen\000"
	.align	2
.LC36:
	.ascii	"fourteen\000"
	.align	2
.LC37:
	.ascii	"fifteen\000"
	.align	2
.LC38:
	.ascii	"sixteen\000"
	.align	2
.LC39:
	.ascii	"seventeen\000"
	.align	2
.LC40:
	.ascii	"eighteen\000"
	.align	2
.LC41:
	.ascii	"nineteen\000"
	.data
	.align	2
	.type	teen, %object
	.size	teen, 40
teen:
	.word	.LC32
	.word	.LC33
	.word	.LC34
	.word	.LC35
	.word	.LC36
	.word	.LC37
	.word	.LC38
	.word	.LC39
	.word	.LC40
	.word	.LC41
	.global	decade
	.section	.rodata
	.align	2
.LC42:
	.ascii	"twenty\000"
	.align	2
.LC43:
	.ascii	"thirty\000"
	.align	2
.LC44:
	.ascii	"forty\000"
	.align	2
.LC45:
	.ascii	"fifty\000"
	.align	2
.LC46:
	.ascii	"sixty\000"
	.align	2
.LC47:
	.ascii	"seventy\000"
	.align	2
.LC48:
	.ascii	"eighty\000"
	.align	2
.LC49:
	.ascii	"ninety\000"
	.data
	.align	2
	.type	decade, %object
	.size	decade, 40
decade:
	.word	.LC22
	.word	.LC32
	.word	.LC42
	.word	.LC43
	.word	.LC44
	.word	.LC45
	.word	.LC46
	.word	.LC47
	.word	.LC48
	.word	.LC49
	.comm	line,100,4
	.section	.rodata
	.align	2
.LC50:
	.ascii	"%s\000"
	.text
	.align	2
	.global	print
	.syntax unified
	.arm
	.fpu softvfp
	.type	print, %function
print:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2
	mov	r0, #32
	bl	putchar
.L2:
	ldr	r1, [fp, #-8]
	ldr	r0, .L3+4
	bl	printf
	ldr	r3, .L3
	mov	r2, #1
	str	r2, [r3]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4:
	.align	2
.L3:
	.word	flag
	.word	.LC50
	.size	print, .-print
	.align	2
	.global	ones
	.syntax unified
	.arm
	.fpu softvfp
	.type	ones, %function
ones:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #48
	beq	.L8
	ldr	r3, [fp, #-8]
	sub	r3, r3, #48
	ldr	r2, .L9
	ldr	r3, [r2, r3, lsl #2]
	mov	r0, r3
	bl	print
	b	.L5
.L8:
	nop
.L5:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L10:
	.align	2
.L9:
	.word	unit
	.size	ones, .-ones
	.align	2
	.global	tens
	.syntax unified
	.arm
	.fpu softvfp
	.type	tens, %function
tens:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #48
	beq	.L17
	cmp	r3, #49
	bne	.L16
	ldr	r3, [fp, #-8]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #48
	ldr	r2, .L18
	ldr	r3, [r2, r3, lsl #2]
	mov	r0, r3
	bl	print
	ldr	r3, [fp, #-8]
	add	r3, r3, #2
	mov	r2, #48
	strb	r2, [r3]
	b	.L11
.L16:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #48
	ldr	r2, .L18+4
	ldr	r3, [r2, r3, lsl #2]
	mov	r0, r3
	bl	print
	b	.L11
.L17:
	nop
.L11:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L19:
	.align	2
.L18:
	.word	teen
	.word	decade
	.size	tens, .-tens
	.align	2
	.global	digit
	.syntax unified
	.arm
	.fpu softvfp
	.type	digit, %function
digit:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #47
	ble	.L21
	ldr	r3, [fp, #-8]
	cmp	r3, #57
	ble	.L22
.L21:
	mov	r3, #0
	b	.L23
.L22:
	mov	r3, #1
.L23:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	digit, .-digit
	.section	.rodata
	.align	2
.LC51:
	.ascii	".\000"
	.text
	.align	2
	.global	nline
	.syntax unified
	.arm
	.fpu softvfp
	.type	nline, %function
nline:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L26
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L25
	ldr	r0, .L26+4
	bl	puts
.L25:
	ldr	r3, .L26
	mov	r2, #0
	str	r2, [r3]
	nop
	pop	{fp, pc}
.L27:
	.align	2
.L26:
	.word	flag
	.word	.LC51
	.size	nline, .-nline
	.align	2
	.global	cprint
	.syntax unified
	.arm
	.fpu softvfp
	.type	cprint, %function
cprint:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L31
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L30
	ldr	r0, [fp, #-8]
	bl	print
.L30:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L32:
	.align	2
.L31:
	.word	flag
	.size	cprint, .-cprint
	.align	2
	.global	conv
	.syntax unified
	.arm
	.fpu softvfp
	.type	conv, %function
conv:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, .L37
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	ble	.L35
	ldr	r3, .L37
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	sub	r3, r2, r3
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	conv
	ldr	r3, .L37
	ldr	r3, [r3]
	ldr	r2, .L37+4
	ldr	r3, [r2, r3, lsl #2]
	mov	r0, r3
	bl	print
	bl	nline
	ldr	r3, .L37
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	mov	r2, r3
	ldr	r3, [fp, #-8]
	add	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, .L37
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	b	.L35
.L36:
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
	mov	r1, #1
	ldr	r0, [fp, #-8]
	bl	conv
	ldr	r2, .L37+4
	ldr	r3, [fp, #-12]
	ldr	r3, [r2, r3, lsl #2]
	mov	r0, r3
	bl	cprint
	bl	nline
	ldr	r3, [fp, #-8]
	add	r3, r3, #3
	str	r3, [fp, #-8]
.L35:
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	bgt	.L36
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	ones
	ldr	r3, .L37+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	cprint
	ldr	r0, [fp, #-8]
	bl	tens
	ldr	r3, [fp, #-8]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	ones
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L38:
	.align	2
.L37:
	.word	max
	.word	card
	.size	conv, .-conv
	.section	.rodata
	.align	2
.LC52:
	.ascii	"...\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, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #8
	mov	r5, #0
	b	.L40
.L52:
	mov	r0, r4
	bl	digit
	mov	r3, r0
	cmp	r3, #0
	bne	.L41
	cmp	r4, #46
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r5, r3
	mov	r0, r4
	bl	putchar
	b	.L40
.L41:
	cmp	r5, #0
	beq	.L42
	b	.L43
.L44:
	mov	r0, #32
	bl	putchar
	mov	r0, r4
	bl	putchar
	bl	getchar
	mov	r4, r0
	cmn	r4, #1
	bne	.L43
	mov	r0, #1
	bl	exit
.L43:
	mov	r0, r4
	bl	digit
	mov	r3, r0
	cmp	r3, #0
	bne	.L44
	mov	r0, #32
	bl	putchar
	b	.L45
.L42:
	mov	r0, #32
	bl	putchar
	mov	r5, #0
	mov	r3, r5
	add	r5, r3, #1
	ldr	r2, .L54
	mov	r1, #48
	strb	r1, [r2, r3]
	mov	r3, r5
	add	r5, r3, #1
	ldr	r2, .L54
	mov	r1, #48
	strb	r1, [r2, r3]
	b	.L46
.L47:
	bl	getchar
	mov	r4, r0
	cmn	r4, #1
	bne	.L46
	mov	r0, #1
	bl	exit
.L46:
	cmp	r4, #48
	beq	.L47
	b	.L48
.L50:
	cmp	r5, #97
	bgt	.L49
	mov	r3, r5
	add	r5, r3, #1
	and	r1, r4, #255
	ldr	r2, .L54
	strb	r1, [r2, r3]
.L49:
	bl	getchar
	mov	r4, r0
	cmn	r4, #1
	bne	.L48
	mov	r0, #1
	bl	exit
.L48:
	mov	r0, r4
	bl	digit
	mov	r3, r0
	cmp	r3, #0
	bne	.L50
	ldr	r3, .L54
	mov	r2, #0
	strb	r2, [r3, r5]
	ldr	r3, .L54+4
	smull	r1, r2, r3, r5
	asr	r3, r5, #31
	sub	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L51
	ldr	r0, .L54+8
	bl	print
	b	.L45
.L51:
	mov	r1, r5
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	sub	r3, r1, r3
	ldr	r2, .L54
	add	r3, r3, r2
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	conv
.L45:
	cmp	r4, #46
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r5, r3
	bl	nline
	ldr	r0, .L54+12
	bl	puts
	cmp	r4, #10
	beq	.L40
	mov	r0, r4
	bl	putchar
.L40:
	bl	getchar
	mov	r4, r0
	cmn	r4, #1
	bne	.L52
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L55:
	.align	2
.L54:
	.word	line
	.word	1431655766
	.word	.LC22
	.word	.LC52
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
