	.file	"733358.c"
	.intel_syntax noprefix
	.text
	.globl	a_
	.bss
	.align 8
	.type	a_, @object
	.size	a_, 8
a_:
	.zero	8
	.globl	b_
	.align 8
	.type	b_, @object
	.size	b_, 8
b_:
	.zero	8
	.globl	p_
	.align 8
	.type	p_, @object
	.size	p_, 8
p_:
	.zero	8
	.text
	.globl	llpow
	.type	llpow, @function
llpow:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -8[rbp], 1
	mov	rax, QWORD PTR -24[rbp]
	cqo
	idiv	QWORD PTR -40[rbp]
	mov	QWORD PTR -24[rbp], rdx
	jmp	.L2
.L4:
	mov	rax, QWORD PTR -32[rbp]
	and	eax, 1
	test	rax, rax
	je	.L3
	mov	rax, QWORD PTR -8[rbp]
	imul	rax, QWORD PTR -24[rbp]
	cqo
	idiv	QWORD PTR -40[rbp]
	mov	QWORD PTR -8[rbp], rdx
.L3:
	mov	rax, QWORD PTR -24[rbp]
	imul	rax, rax
	cqo
	idiv	QWORD PTR -40[rbp]
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	shr	rdx, 63
	add	rax, rdx
	sar	rax
	mov	QWORD PTR -32[rbp], rax
.L2:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L4
	mov	rax, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	llpow, .-llpow
	.globl	llgcd
	.type	llgcd, @function
llgcd:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	jmp	.L7
.L8:
	mov	rax, QWORD PTR -24[rbp]
	cqo
	idiv	QWORD PTR -32[rbp]
	mov	QWORD PTR -8[rbp], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -32[rbp], rax
.L7:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L8
	mov	rax, QWORD PTR -24[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	llgcd, .-llgcd
	.globl	hash
	.bss
	.align 32
	.type	hash, @object
	.size	hash, 8000056
hash:
	.zero	8000056
	.globl	pool
	.align 32
	.type	pool, @object
	.size	pool, 72000000
pool:
	.zero	72000000
	.globl	ptop
	.align 8
	.type	ptop, @object
	.size	ptop, 8
ptop:
	.zero	8
	.text
	.globl	h_clear
	.type	h_clear, @function
h_clear:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	edx, 8000056
	mov	esi, 0
	lea	rdi, hash[rip]
	call	memset@PLT
	lea	rax, pool[rip]
	mov	QWORD PTR ptop[rip], rax
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	h_clear, .-h_clear
	.globl	h_node_new
	.type	h_node_new, @function
h_node_new:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR ptop[rip]
	lea	rdx, 24[rax]
	mov	QWORD PTR ptop[rip], rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	h_node_new, .-h_node_new
	.globl	h_hash
	.type	h_hash, @function
h_hash:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rcx, QWORD PTR -8[rbp]
	movabs	rdx, -8775405216164521033
	mov	rax, rcx
	imul	rdx
	lea	rax, [rdx+rcx]
	sar	rax, 19
	mov	rdx, rcx
	sar	rdx, 63
	sub	rax, rdx
	imul	rdx, rax, 1000007
	mov	rax, rcx
	sub	rax, rdx
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	h_hash, .-h_hash
	.globl	h_find
	.type	h_find, @function
h_find:
.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, 24
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	h_hash
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, hash[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L16
.L19:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -24[rbp], rax
	jne	.L17
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L18
.L17:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -8[rbp], rax
.L16:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L19
	mov	eax, 0
.L18:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	h_find, .-h_find
	.globl	h_insert
	.type	h_insert, @function
h_insert:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	h_node_new
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	h_hash
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, hash[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	lea	rdx, hash[rip]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rcx+rdx], rax
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	h_insert, .-h_insert
	.globl	bsgs
	.type	bsgs, @function
bsgs:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	QWORD PTR -88[rbp], rdx
	mov	QWORD PTR -56[rbp], 0
	mov	QWORD PTR -48[rbp], 1
	mov	rax, QWORD PTR -72[rbp]
	cqo
	idiv	QWORD PTR -88[rbp]
	mov	QWORD PTR -72[rbp], rdx
	mov	rax, QWORD PTR -80[rbp]
	cqo
	idiv	QWORD PTR -88[rbp]
	mov	QWORD PTR -80[rbp], rdx
	cmp	QWORD PTR -80[rbp], 1
	jne	.L22
	mov	eax, 0
	jmp	.L23
.L22:
	cmp	QWORD PTR -72[rbp], 0
	jne	.L24
	cmp	QWORD PTR -80[rbp], 0
	jne	.L24
	mov	eax, 1
	jmp	.L23
.L24:
	cmp	QWORD PTR -72[rbp], 0
	jne	.L26
	mov	rax, -1
	jmp	.L23
.L28:
	mov	rax, QWORD PTR -80[rbp]
	cqo
	idiv	QWORD PTR -24[rbp]
	mov	rax, rdx
	test	rax, rax
	je	.L27
	mov	rax, -1
	jmp	.L23
.L27:
	mov	rax, QWORD PTR -88[rbp]
	cqo
	idiv	QWORD PTR -24[rbp]
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	cqo
	idiv	QWORD PTR -24[rbp]
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	cqo
	idiv	QWORD PTR -24[rbp]
	imul	rax, QWORD PTR -48[rbp]
	cqo
	idiv	QWORD PTR -88[rbp]
	mov	QWORD PTR -48[rbp], rdx
	add	QWORD PTR -56[rbp], 1
	mov	rax, QWORD PTR -48[rbp]
	cmp	rax, QWORD PTR -80[rbp]
	jne	.L26
	mov	rax, QWORD PTR -56[rbp]
	jmp	.L23
.L26:
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	llgcd
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 1
	jne	.L28
	call	h_clear
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, QWORD PTR -88[rbp]
	movq	rax, xmm1
	movq	xmm0, rax
	call	sqrt@PLT
	movq	rax, xmm0
	movq	xmm0, rax
	call	ceil@PLT
	cvttsd2si	rax, xmm0
	add	rax, 1
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -32[rbp], 1
	mov	QWORD PTR -40[rbp], 0
	jmp	.L29
.L30:
	mov	rax, QWORD PTR -80[rbp]
	imul	rax, QWORD PTR -32[rbp]
	cqo
	idiv	QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	h_insert
	add	QWORD PTR -40[rbp], 1
	mov	rax, QWORD PTR -32[rbp]
	imul	rax, QWORD PTR -72[rbp]
	cqo
	idiv	QWORD PTR -88[rbp]
	mov	QWORD PTR -32[rbp], rdx
.L29:
	mov	rax, QWORD PTR -40[rbp]
	cmp	rax, QWORD PTR -16[rbp]
	jle	.L30
	mov	rdx, QWORD PTR -88[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	llpow
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	QWORD PTR -40[rbp], 1
	jmp	.L31
.L33:
	mov	rax, QWORD PTR -48[rbp]
	imul	rax, QWORD PTR -32[rbp]
	cqo
	idiv	QWORD PTR -88[rbp]
	mov	rax, rdx
	mov	rdi, rax
	call	h_find
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L32
	mov	rax, QWORD PTR -40[rbp]
	imul	rax, QWORD PTR -16[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	sub	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	test	rax, rax
	jle	.L32
	mov	rax, QWORD PTR -40[rbp]
	imul	rax, QWORD PTR -16[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	sub	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	jmp	.L23
.L32:
	add	QWORD PTR -40[rbp], 1
	mov	rax, QWORD PTR -32[rbp]
	imul	rax, QWORD PTR -72[rbp]
	cqo
	idiv	QWORD PTR -88[rbp]
	mov	QWORD PTR -32[rbp], rdx
.L31:
	mov	rax, QWORD PTR -40[rbp]
	cmp	rax, QWORD PTR -16[rbp]
	jle	.L33
	mov	rax, -1
.L23:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	bsgs, .-bsgs
	.section	.rodata
.LC0:
	.string	"No Solution"
.LC1:
	.string	"%lld\n"
.LC2:
	.string	"%lld%lld%lld"
	.text
	.globl	main
	.type	main, @function
main:
.LFB14:
	.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
	jmp	.L35
.L38:
	mov	rdx, QWORD PTR p_[rip]
	mov	rcx, QWORD PTR b_[rip]
	mov	rax, QWORD PTR a_[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	bsgs
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], -1
	jne	.L36
	lea	rdi, .LC0[rip]
	call	puts@PLT
	jmp	.L35
.L36:
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	printf@PLT
.L35:
	lea	rcx, b_[rip]
	lea	rdx, p_[rip]
	lea	rsi, a_[rip]
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	cmp	eax, 3
	jne	.L37
	mov	rax, QWORD PTR a_[rip]
	test	rax, rax
	jne	.L38
	mov	rax, QWORD PTR b_[rip]
	test	rax, rax
	jne	.L38
	mov	rax, QWORD PTR p_[rip]
	test	rax, rax
	jne	.L38
.L37:
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.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	"733358.c"
	.text
	.comm	a_,8,8
	.comm	b_,8,8
	.comm	p_,8,8
	.global	__aeabi_ldivmod
	.align	2
	.global	llpow
	.syntax unified
	.arm
	.fpu softvfp
	.type	llpow, %function
llpow:
	@ args = 8, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #24
	str	r0, [fp, #-36]
	str	r1, [fp, #-32]
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	mov	r2, #1
	mov	r3, #0
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	ldmib	fp, {r2-r3}
	bl	__aeabi_ldivmod
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	b	.L2
.L4:
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	mov	r0, #1
	mov	r1, #0
	and	r6, r2, r0
	and	r7, r3, r1
	orrs	r3, r6, r7
	beq	.L3
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-36]
	mul	r2, r3, r2
	ldr	r3, [fp, #-32]
	ldr	r1, [fp, #-28]
	mul	r3, r1, r3
	add	r3, r2, r3
	ldr	ip, [fp, #-28]
	ldr	r2, [fp, #-36]
	umull	r0, r1, ip, r2
	add	r3, r3, r1
	mov	r1, r3
	ldmib	fp, {r2-r3}
	bl	__aeabi_ldivmod
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
.L3:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-36]
	mul	r2, r3, r2
	ldr	r3, [fp, #-32]
	ldr	r1, [fp, #-36]
	mul	r3, r1, r3
	add	r2, r2, r3
	ldr	r3, [fp, #-36]
	umull	r0, r1, r3, r3
	add	r3, r2, r1
	mov	r1, r3
	ldmib	fp, {r2-r3}
	bl	__aeabi_ldivmod
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	lsr	r1, r3, #31
	mov	r0, r1
	mov	r1, #0
	adds	r4, r0, r2
	adc	r5, r1, r3
	mov	r2, #0
	mov	r3, #0
	lsr	r2, r4, #1
	orr	r2, r2, r5, lsl #31
	asr	r3, r5, #1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
.L2:
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	orrs	r3, r2, r3
	bne	.L4
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
	.size	llpow, .-llpow
	.align	2
	.global	llgcd
	.syntax unified
	.arm
	.fpu softvfp
	.type	llgcd, %function
llgcd:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	b	.L7
.L8:
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_ldivmod
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
.L7:
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	orrs	r3, r2, r3
	bne	.L8
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	llgcd, .-llgcd
	.comm	hash,4000028,4
	.comm	pool,72000000,8
	.comm	ptop,4,4
	.align	2
	.global	h_clear
	.syntax unified
	.arm
	.fpu softvfp
	.type	h_clear, %function
h_clear:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r2, .L11
	mov	r1, #0
	ldr	r0, .L11+4
	bl	memset
	ldr	r3, .L11+8
	ldr	r2, .L11+12
	str	r2, [r3]
	nop
	pop	{fp, pc}
.L12:
	.align	2
.L11:
	.word	4000028
	.word	hash
	.word	ptop
	.word	pool
	.size	h_clear, .-h_clear
	.align	2
	.global	h_node_new
	.syntax unified
	.arm
	.fpu softvfp
	.type	h_node_new, %function
h_node_new:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	ldr	r3, .L15
	ldr	r3, [r3]
	add	r2, r3, #24
	ldr	r1, .L15
	str	r2, [r1]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r1, [fp, #-8]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r1, [fp, #-8]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [r1, #8]
	str	r3, [r1, #12]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L16:
	.align	2
.L15:
	.word	ptop
	.size	h_node_new, .-h_node_new
	.align	2
	.global	h_hash
	.syntax unified
	.arm
	.fpu softvfp
	.type	h_hash, %function
h_hash:
	@ 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, #-12]
	str	r1, [fp, #-8]
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	adr	r3, .L19
	ldmia	r3, {r2-r3}
	bl	__aeabi_ldivmod
	mov	r3, r2
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L20:
	.align	3
.L19:
	.word	1000007
	.word	0
	.size	h_hash, .-h_hash
	.align	2
	.global	h_find
	.syntax unified
	.arm
	.fpu softvfp
	.type	h_find, %function
h_find:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	h_hash
	mov	r3, r0
	ldr	r2, .L26
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-8]
	b	.L22
.L25:
	ldr	r3, [fp, #-8]
	ldmia	r3, {r2-r3}
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L23
	ldr	r3, [fp, #-8]
	b	.L24
.L23:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-8]
.L22:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L25
	mov	r3, #0
.L24:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L27:
	.align	2
.L26:
	.word	hash
	.size	h_find, .-h_find
	.align	2
	.global	h_insert
	.syntax unified
	.arm
	.fpu softvfp
	.type	h_insert, %function
h_insert:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	h_node_new
	str	r0, [fp, #-12]
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	h_hash
	str	r0, [fp, #-8]
	ldr	r2, .L29
	ldr	r3, [fp, #-8]
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-12]
	str	r2, [r3, #16]
	ldr	r1, .L29
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r1, r3, lsl #2]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L30:
	.align	2
.L29:
	.word	hash
	.size	h_insert, .-h_insert
	.global	__aeabi_l2d
	.global	__aeabi_d2lz
	.align	2
	.global	bsgs
	.syntax unified
	.arm
	.fpu softvfp
	.type	bsgs, %function
bsgs:
	@ args = 8, pretend = 0, frame = 120
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #128
	str	r0, [fp, #-92]
	str	r1, [fp, #-88]
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	mov	r2, #1
	mov	r3, #0
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	ldmib	fp, {r2-r3}
	bl	__aeabi_ldivmod
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	ldmib	fp, {r2-r3}
	bl	__aeabi_ldivmod
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	cmp	r3, #0
	cmpeq	r2, #1
	bne	.L32
	mov	r6, #0
	mov	r7, #0
	b	.L33
.L32:
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	orrs	r3, r2, r3
	bne	.L34
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	orrs	r3, r2, r3
	bne	.L34
	mov	r6, #1
	mov	r7, #0
	b	.L33
.L34:
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	orrs	r3, r2, r3
	bne	.L36
	mvn	r6, #0
	mvn	r7, #0
	b	.L33
.L38:
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	bl	__aeabi_ldivmod
	orrs	r3, r2, r3
	beq	.L37
	mvn	r6, #0
	mvn	r7, #0
	b	.L33
.L37:
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldmib	fp, {r0-r1}
	bl	__aeabi_ldivmod
	mov	r2, r0
	mov	r3, r1
	stmib	fp, {r2-r3}
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_ldivmod
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_ldivmod
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-68]
	mul	r2, r1, r3
	ldr	r3, [fp, #-64]
	mul	r3, r0, r3
	add	r2, r2, r3
	ldr	r3, [fp, #-68]
	umull	r4, r5, r3, r0
	add	r3, r2, r5
	mov	r5, r3
	ldmib	fp, {r2-r3}
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ldivmod
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	adds	r1, r2, #1
	str	r1, [fp, #-124]
	adc	r3, r3, #0
	str	r3, [fp, #-120]
	sub	r4, fp, #124
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-76]
	str	r4, [fp, #-72]
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L36
	sub	r7, fp, #76
	ldmia	r7, {r6-r7}
	b	.L33
.L36:
	ldmib	fp, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	llgcd
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	cmp	r3, #0
	cmpeq	r2, #1
	bne	.L38
	bl	h_clear
	ldmib	fp, {r0-r1}
	bl	__aeabi_l2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	sqrt
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	ceil
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2lz
	mov	r2, r0
	mov	r3, r1
	adds	r1, r2, #1
	str	r1, [fp, #-132]
	adc	r3, r3, #0
	str	r3, [fp, #-128]
	sub	r4, fp, #132
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-36]
	str	r4, [fp, #-32]
	mov	r2, #1
	mov	r3, #0
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	b	.L39
.L40:
	ldr	r3, [fp, #-96]
	ldr	r2, [fp, #-52]
	mul	r1, r2, r3
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-100]
	mul	r3, r2, r3
	add	ip, r1, r3
	ldr	r2, [fp, #-100]
	ldr	r3, [fp, #-52]
	umull	r0, r1, r2, r3
	add	r3, ip, r1
	mov	r1, r3
	ldmib	fp, {r2-r3}
	bl	__aeabi_ldivmod
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	h_insert
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	adds	r1, r2, #1
	str	r1, [fp, #-140]
	adc	r3, r3, #0
	str	r3, [fp, #-136]
	sub	r4, fp, #140
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-60]
	str	r4, [fp, #-56]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-92]
	mul	r1, r2, r3
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-52]
	mul	r3, r2, r3
	add	ip, r1, r3
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-92]
	umull	r0, r1, r2, r3
	add	r3, ip, r1
	mov	r1, r3
	ldmib	fp, {r2-r3}
	bl	__aeabi_ldivmod
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
.L39:
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	cmp	r2, r0
	sbcs	r3, r3, r1
	bge	.L40
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	llpow
	str	r0, [fp, #-92]
	str	r1, [fp, #-88]
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	mov	r2, #1
	mov	r3, #0
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	b	.L41
.L43:
	ldr	r3, [fp, #-64]
	ldr	r2, [fp, #-52]
	mul	r2, r3, r2
	ldr	r3, [fp, #-48]
	ldr	r1, [fp, #-68]
	mul	r3, r1, r3
	add	ip, r2, r3
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-52]
	umull	r0, r1, r2, r3
	add	r3, ip, r1
	mov	r1, r3
	ldmib	fp, {r2-r3}
	bl	__aeabi_ldivmod
	mov	r0, r2
	mov	r1, r3
	bl	h_find
	str	r0, [fp, #-80]
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	beq	.L42
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-36]
	mul	r2, r3, r2
	ldr	r3, [fp, #-32]
	ldr	r1, [fp, #-60]
	mul	r3, r1, r3
	add	ip, r2, r3
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-36]
	umull	r0, r1, r2, r3
	add	r3, ip, r1
	mov	r1, r3
	ldr	r3, [fp, #-80]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	subs	r8, r0, r2
	sbc	r9, r1, r3
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	adds	r1, r8, r2
	str	r1, [fp, #-108]
	adc	r3, r9, r3
	str	r3, [fp, #-104]
	sub	r4, fp, #108
	ldmia	r4, {r3-r4}
	cmp	r3, #1
	sbcs	r3, r4, #0
	blt	.L42
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-36]
	mul	r2, r3, r2
	ldr	r3, [fp, #-32]
	ldr	r1, [fp, #-60]
	mul	r3, r1, r3
	add	r1, r2, r3
	ldr	ip, [fp, #-60]
	ldr	r0, [fp, #-36]
	umull	r2, r3, ip, r0
	add	r1, r1, r3
	mov	r3, r1
	ldr	r1, [fp, #-80]
	add	r1, r1, #8
	ldmia	r1, {r0-r1}
	subs	ip, r2, r0
	str	ip, [fp, #-116]
	sbc	r3, r3, r1
	str	r3, [fp, #-112]
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	mov	ip, r0
	adds	r6, ip, r2
	adc	r7, r1, r3
	b	.L33
.L42:
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	adds	r1, r2, #1
	str	r1, [fp, #-148]
	adc	r3, r3, #0
	str	r3, [fp, #-144]
	sub	r4, fp, #148
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-60]
	str	r4, [fp, #-56]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-92]
	mul	r2, r3, r2
	ldr	r3, [fp, #-88]
	ldr	r1, [fp, #-52]
	mul	r3, r1, r3
	add	ip, r2, r3
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-92]
	umull	r0, r1, r2, r3
	add	r3, ip, r1
	mov	r1, r3
	ldmib	fp, {r2-r3}
	bl	__aeabi_ldivmod
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
.L41:
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	cmp	r0, r2
	sbcs	r3, r1, r3
	bge	.L43
	mvn	r6, #0
	mvn	r7, #0
.L33:
	mov	r2, r6
	mov	r3, r7
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
	.size	bsgs, .-bsgs
	.section	.rodata
	.align	2
.LC0:
	.ascii	"No Solution\000"
	.align	2
.LC1:
	.ascii	"%lld\012\000"
	.align	2
.LC2:
	.ascii	"%lld%lld%lld\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, #16
	b	.L45
.L48:
	ldr	r3, .L50
	ldmia	r3, {r0-r1}
	ldr	r3, .L50+4
	ldmia	r3, {r4-r5}
	ldr	r3, .L50+8
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	bl	bsgs
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	mvn	r0, #0
	mvn	r1, #0
	cmp	r3, r1
	cmpeq	r2, r0
	bne	.L46
	ldr	r0, .L50+12
	bl	puts
	b	.L45
.L46:
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	ldr	r0, .L50+16
	bl	printf
.L45:
	ldr	r3, .L50+4
	ldr	r2, .L50+8
	ldr	r1, .L50
	ldr	r0, .L50+20
	bl	__isoc99_scanf
	mov	r3, r0
	cmp	r3, #3
	bne	.L47
	ldr	r3, .L50
	ldmia	r3, {r2-r3}
	orrs	r3, r2, r3
	bne	.L48
	ldr	r3, .L50+4
	ldmia	r3, {r2-r3}
	orrs	r3, r2, r3
	bne	.L48
	ldr	r3, .L50+8
	ldmia	r3, {r2-r3}
	orrs	r3, r2, r3
	bne	.L48
.L47:
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L51:
	.align	2
.L50:
	.word	a_
	.word	b_
	.word	p_
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
