	.file	"73967.c"
	.intel_syntax noprefix
	.text
	.globl	checkForSorted
	.type	checkForSorted, @function
checkForSorted:
.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	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -4[rbp], 0
	jmp	.L2
.L5:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	add	rax, 1
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jle	.L3
	mov	eax, 1
	jmp	.L4
.L3:
	add	DWORD PTR -4[rbp], 1
.L2:
	mov	eax, DWORD PTR -28[rbp]
	sub	eax, 1
	cmp	DWORD PTR -4[rbp], eax
	jl	.L5
	mov	eax, 0
.L4:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	checkForSorted, .-checkForSorted
	.globl	arrayInitializationOnlyPositive
	.type	arrayInitializationOnlyPositive, @function
arrayInitializationOnlyPositive:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -4[rbp], 0
	jmp	.L7
.L8:
	call	rand@PLT
	mov	edx, DWORD PTR -4[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -24[rbp]
	add	rcx, rdx
	movsx	rdx, eax
	imul	rdx, rdx, 1374389535
	shr	rdx, 32
	sar	edx, 5
	mov	esi, eax
	sar	esi, 31
	sub	edx, esi
	imul	esi, edx, 100
	sub	eax, esi
	mov	edx, eax
	mov	DWORD PTR [rcx], edx
	add	DWORD PTR -4[rbp], 1
.L7:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jl	.L8
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	arrayInitializationOnlyPositive, .-arrayInitializationOnlyPositive
	.globl	arrayInitialization
	.type	arrayInitialization, @function
arrayInitialization:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -4[rbp], 0
	jmp	.L10
.L11:
	call	rand@PLT
	imul	edx, eax, 2000
	movsx	rcx, edx
	mov	rax, rcx
	sal	rax, 30
	add	rax, rcx
	shr	rax, 32
	sar	eax, 29
	sar	edx, 31
	mov	ecx, edx
	sub	eax, ecx
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rcx
	sub	edx, 1000
	mov	DWORD PTR [rax], edx
	add	DWORD PTR -4[rbp], 1
.L10:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jl	.L11
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	arrayInitialization, .-arrayInitialization
	.globl	insertionSort
	.type	insertionSort, @function
insertionSort:
.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	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -32[rbp], edx
	mov	eax, DWORD PTR -28[rbp]
	add	eax, 1
	mov	DWORD PTR -12[rbp], eax
	jmp	.L13
.L17:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	sub	eax, 1
	mov	DWORD PTR -8[rbp], eax
	jmp	.L14
.L16:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -8[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	sub	DWORD PTR -8[rbp], 1
.L14:
	cmp	DWORD PTR -8[rbp], 0
	js	.L15
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L16
.L15:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -12[rbp], 1
.L13:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -32[rbp]
	jle	.L17
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	insertionSort, .-insertionSort
	.globl	partition
	.type	partition, @function
partition:
.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 -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -32[rbp], edx
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -12[rbp], eax
	jmp	.L19
.L21:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jge	.L20
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -16[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -16[rbp], 1
.L20:
	add	DWORD PTR -12[rbp], 1
.L19:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -32[rbp]
	jl	.L21
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -32[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -16[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	partition, .-partition
	.globl	quickSort
	.type	quickSort, @function
quickSort:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -32[rbp], edx
	mov	eax, DWORD PTR -32[rbp]
	sub	eax, DWORD PTR -28[rbp]
	cmp	eax, 9
	jg	.L24
	mov	edx, DWORD PTR -32[rbp]
	mov	ecx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	insertionSort
	mov	eax, 0
	jmp	.L25
.L24:
	mov	edx, DWORD PTR -32[rbp]
	mov	ecx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	partition
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, -1[rax]
	mov	ecx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	quickSort
	mov	eax, DWORD PTR -4[rbp]
	lea	ecx, 1[rax]
	mov	edx, DWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	quickSort
	mov	eax, 0
.L25:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	quickSort, .-quickSort
	.section	.rodata
.LC0:
	.string	"\320\242\320\265\321\201\321\202 1 \320\277\321\200\320\276\320\262\320\260\320\273\320\265\320\275"
	.text
	.globl	testSortOnlyPositiveNums
	.type	testSortOnlyPositiveNums, @function
testSortOnlyPositiveNums:
.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, 4016
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -4016[rbp]
	mov	esi, 1000
	mov	rdi, rax
	call	arrayInitializationOnlyPositive
	lea	rax, -4016[rbp]
	mov	edx, 999
	mov	esi, 0
	mov	rdi, rax
	call	quickSort
	lea	rax, -4016[rbp]
	mov	esi, 1000
	mov	rdi, rax
	call	checkForSorted
	test	eax, eax
	je	.L27
	lea	rdi, .LC0[rip]
	call	puts@PLT
	mov	eax, 1
	jmp	.L29
.L27:
	mov	eax, 0
.L29:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L30
	call	__stack_chk_fail@PLT
.L30:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	testSortOnlyPositiveNums, .-testSortOnlyPositiveNums
	.section	.rodata
.LC1:
	.string	"\320\242\320\265\321\201\321\202 2 \320\277\321\200\320\276\320\262\320\260\320\273\320\265\320\275"
	.text
	.globl	testSortAllTheSame
	.type	testSortAllTheSame, @function
testSortAllTheSame:
.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, 4032
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -4020[rbp], 0
	jmp	.L32
.L33:
	mov	eax, DWORD PTR -4020[rbp]
	cdqe
	mov	DWORD PTR -4016[rbp+rax*4], 1
	add	DWORD PTR -4020[rbp], 1
.L32:
	cmp	DWORD PTR -4020[rbp], 999
	jle	.L33
	lea	rax, -4016[rbp]
	mov	edx, 999
	mov	esi, 0
	mov	rdi, rax
	call	quickSort
	lea	rax, -4016[rbp]
	mov	esi, 1000
	mov	rdi, rax
	call	checkForSorted
	test	eax, eax
	je	.L34
	lea	rdi, .LC1[rip]
	call	puts@PLT
	mov	eax, 1
	jmp	.L36
.L34:
	mov	eax, 0
.L36:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L37
	call	__stack_chk_fail@PLT
.L37:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	testSortAllTheSame, .-testSortAllTheSame
	.section	.rodata
.LC2:
	.string	"\320\242\320\265\321\201\321\202 3 \320\277\321\200\320\276\320\262\320\260\320\273\320\265\320\275"
	.text
	.globl	testSortWithNegativePositiveNums
	.type	testSortWithNegativePositiveNums, @function
testSortWithNegativePositiveNums:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	r11, -36864[rsp]
.LPSRL0:
	sub	rsp, 4096
	or	DWORD PTR [rsp], 0
	cmp	rsp, r11
	jne	.LPSRL0
	sub	rsp, 3152
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -40016[rbp]
	mov	esi, 10000
	mov	rdi, rax
	call	arrayInitialization
	lea	rax, -40016[rbp]
	mov	edx, 9999
	mov	esi, 0
	mov	rdi, rax
	call	quickSort
	lea	rax, -40016[rbp]
	mov	esi, 10000
	mov	rdi, rax
	call	checkForSorted
	test	eax, eax
	je	.L39
	lea	rdi, .LC2[rip]
	call	puts@PLT
	mov	eax, 1
	jmp	.L41
.L39:
	mov	eax, 0
.L41:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L42
	call	__stack_chk_fail@PLT
.L42:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	testSortWithNegativePositiveNums, .-testSortWithNegativePositiveNums
	.globl	tests
	.type	tests, @function
tests:
.LFB15:
	.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], 0
	mov	eax, 0
	call	testSortOnlyPositiveNums
	add	DWORD PTR -4[rbp], eax
	mov	eax, 0
	call	testSortAllTheSame
	add	DWORD PTR -4[rbp], eax
	mov	eax, 0
	call	testSortWithNegativePositiveNums
	add	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	tests, .-tests
	.section	.rodata
.LC3:
	.string	"rus"
	.align 8
.LC4:
	.string	"\320\222\321\201\320\265 \321\202\320\265\321\201\321\202\321\213 \320\262\321\213\320\277\320\276\320\273\320\275\320\265\320\275\321\213 \321\203\321\201\320\277\320\265\321\210\320\275\320\276"
.LC5:
	.string	"%i "
	.text
	.globl	main
	.type	main, @function
main:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rsi, .LC3[rip]
	mov	edi, 6
	call	setlocale@PLT
	mov	eax, 0
	call	tests
	test	eax, eax
	je	.L46
	mov	eax, 1
	jmp	.L47
.L46:
	lea	rdi, .LC4[rip]
	call	puts@PLT
	lea	rax, -96[rbp]
	mov	esi, 20
	mov	rdi, rax
	call	arrayInitializationOnlyPositive
	lea	rax, -96[rbp]
	mov	edx, 19
	mov	esi, 0
	mov	rdi, rax
	call	quickSort
	mov	DWORD PTR -100[rbp], 0
	jmp	.L48
.L49:
	mov	eax, DWORD PTR -100[rbp]
	cdqe
	mov	eax, DWORD PTR -96[rbp+rax*4]
	mov	esi, eax
	lea	rdi, .LC5[rip]
	mov	eax, 0
	call	printf@PLT
	add	DWORD PTR -100[rbp], 1
.L48:
	cmp	DWORD PTR -100[rbp], 19
	jle	.L49
	mov	eax, 0
.L47:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L50
	call	__stack_chk_fail@PLT
.L50:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.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	"73967.c"
	.text
	.align	2
	.global	checkForSorted
	.syntax unified
	.arm
	.fpu softvfp
	.type	checkForSorted, %function
checkForSorted:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L2
.L5:
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-16]
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L3
	mov	r3, #1
	b	.L4
.L3:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L2:
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L5
	mov	r3, #0
.L4:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	checkForSorted, .-checkForSorted
	.align	2
	.global	arrayInitializationOnlyPositive
	.syntax unified
	.arm
	.fpu softvfp
	.type	arrayInitializationOnlyPositive, %function
arrayInitializationOnlyPositive:
	@ 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, #-16]
	str	r1, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L7
.L8:
	bl	rand
	mov	r1, r0
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r0, r2, r3
	ldr	r3, .L9
	smull	r2, r3, r1, r3
	asr	r2, r3, #5
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	sub	r2, r1, r3
	str	r2, [r0]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L7:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	blt	.L8
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L10:
	.align	2
.L9:
	.word	1374389535
	.size	arrayInitializationOnlyPositive, .-arrayInitializationOnlyPositive
	.align	2
	.global	arrayInitialization
	.syntax unified
	.arm
	.fpu softvfp
	.type	arrayInitialization, %function
arrayInitialization:
	@ 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, #-16]
	str	r1, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L12
.L13:
	bl	rand
	mov	r2, r0
	mov	r3, r2
	lsl	r3, r3, #5
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #4
	mov	r2, #1073741825
	smull	r1, r2, r3, r2
	asr	r2, r2, #29
	asr	r3, r3, #31
	sub	r2, r2, r3
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-16]
	add	r3, r1, r3
	sub	r2, r2, #1000
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L12:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	blt	.L13
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	arrayInitialization, .-arrayInitialization
	.align	2
	.global	insertionSort
	.syntax unified
	.arm
	.fpu softvfp
	.type	insertionSort, %function
insertionSort:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #36
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L15
.L19:
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
	b	.L16
.L18:
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r2, r2, r3
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-24]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
.L16:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	blt	.L17
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L18
.L17:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L15:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	ble	.L19
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	insertionSort, .-insertionSort
	.align	2
	.global	partition
	.syntax unified
	.arm
	.fpu softvfp
	.type	partition, %function
partition:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #36
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-16]
	b	.L21
.L23:
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-24]
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r2, r3
	bge	.L22
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-24]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L22:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L21:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	blt	.L23
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r2, r2, r3
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-24]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	partition, .-partition
	.align	2
	.global	quickSort
	.syntax unified
	.arm
	.fpu softvfp
	.type	quickSort, %function
quickSort:
	@ 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, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	sub	r3, r2, r3
	cmp	r3, #9
	bgt	.L26
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	insertionSort
	mov	r3, #0
	b	.L27
.L26:
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	partition
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	quickSort
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	ldr	r2, [fp, #-24]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	quickSort
	mov	r3, #0
.L27:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	quickSort, .-quickSort
	.section	.rodata
	.align	2
.LC0:
	.ascii	"\320\242\320\265\321\201\321\202 1 \320\277\321\200"
	.ascii	"\320\276\320\262\320\260\320\273\320\265\320\275\000"
	.align	2
.LC1:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	testSortOnlyPositiveNums
	.syntax unified
	.arm
	.fpu softvfp
	.type	testSortOnlyPositiveNums, %function
testSortOnlyPositiveNums:
	@ args = 0, pretend = 0, frame = 4008
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #4000
	sub	sp, sp, #8
	ldr	r3, .L33
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #4000
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r1, #1000
	mov	r0, r3
	bl	arrayInitializationOnlyPositive
	sub	r3, fp, #4000
	sub	r3, r3, #4
	sub	r3, r3, #4
	ldr	r2, .L33+4
	mov	r1, #0
	mov	r0, r3
	bl	quickSort
	sub	r3, fp, #4000
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r1, #1000
	mov	r0, r3
	bl	checkForSorted
	mov	r3, r0
	cmp	r3, #0
	beq	.L29
	ldr	r0, .L33+8
	bl	puts
	mov	r3, #1
	b	.L31
.L29:
	mov	r3, #0
.L31:
	ldr	r2, .L33
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L32
	bl	__stack_chk_fail
.L32:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L34:
	.align	2
.L33:
	.word	.LC1
	.word	999
	.word	.LC0
	.size	testSortOnlyPositiveNums, .-testSortOnlyPositiveNums
	.section	.rodata
	.align	2
.LC2:
	.ascii	"\320\242\320\265\321\201\321\202 2 \320\277\321\200"
	.ascii	"\320\276\320\262\320\260\320\273\320\265\320\275\000"
	.align	2
.LC3:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	testSortAllTheSame
	.syntax unified
	.arm
	.fpu softvfp
	.type	testSortAllTheSame, %function
testSortAllTheSame:
	@ args = 0, pretend = 0, frame = 4008
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #4000
	sub	sp, sp, #8
	ldr	r3, .L42
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-4012]
	b	.L36
.L37:
	ldr	r3, [fp, #-4012]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #1
	str	r2, [r3, #-4004]
	ldr	r3, [fp, #-4012]
	add	r3, r3, #1
	str	r3, [fp, #-4012]
.L36:
	ldr	r3, [fp, #-4012]
	cmp	r3, #1000
	blt	.L37
	sub	r3, fp, #4000
	sub	r3, r3, #4
	sub	r3, r3, #4
	ldr	r2, .L42+4
	mov	r1, #0
	mov	r0, r3
	bl	quickSort
	sub	r3, fp, #4000
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r1, #1000
	mov	r0, r3
	bl	checkForSorted
	mov	r3, r0
	cmp	r3, #0
	beq	.L38
	ldr	r0, .L42+8
	bl	puts
	mov	r3, #1
	b	.L40
.L38:
	mov	r3, #0
.L40:
	ldr	r2, .L42
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L41
	bl	__stack_chk_fail
.L41:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L43:
	.align	2
.L42:
	.word	.LC3
	.word	999
	.word	.LC2
	.size	testSortAllTheSame, .-testSortAllTheSame
	.section	.rodata
	.align	2
.LC4:
	.ascii	"\320\242\320\265\321\201\321\202 3 \320\277\321\200"
	.ascii	"\320\276\320\262\320\260\320\273\320\265\320\275\000"
	.align	2
.LC5:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	testSortWithNegativePositiveNums
	.syntax unified
	.arm
	.fpu softvfp
	.type	testSortWithNegativePositiveNums, %function
testSortWithNegativePositiveNums:
	@ args = 0, pretend = 0, frame = 40008
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #39936
	sub	sp, sp, #72
	ldr	r3, .L49
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #39936
	sub	r3, r3, #4
	sub	r3, r3, #68
	ldr	r1, .L49+4
	mov	r0, r3
	bl	arrayInitialization
	sub	r3, fp, #39936
	sub	r3, r3, #4
	sub	r3, r3, #68
	ldr	r2, .L49+8
	mov	r1, #0
	mov	r0, r3
	bl	quickSort
	sub	r3, fp, #39936
	sub	r3, r3, #4
	sub	r3, r3, #68
	ldr	r1, .L49+4
	mov	r0, r3
	bl	checkForSorted
	mov	r3, r0
	cmp	r3, #0
	beq	.L45
	ldr	r0, .L49+12
	bl	puts
	mov	r3, #1
	b	.L47
.L45:
	mov	r3, #0
.L47:
	ldr	r2, .L49
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L48
	bl	__stack_chk_fail
.L48:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L50:
	.align	2
.L49:
	.word	.LC5
	.word	10000
	.word	9999
	.word	.LC4
	.size	testSortWithNegativePositiveNums, .-testSortWithNegativePositiveNums
	.align	2
	.global	tests
	.syntax unified
	.arm
	.fpu softvfp
	.type	tests, %function
tests:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r3, #0
	str	r3, [fp, #-8]
	bl	testSortOnlyPositiveNums
	mov	r2, r0
	ldr	r3, [fp, #-8]
	add	r3, r3, r2
	str	r3, [fp, #-8]
	bl	testSortAllTheSame
	mov	r2, r0
	ldr	r3, [fp, #-8]
	add	r3, r3, r2
	str	r3, [fp, #-8]
	bl	testSortWithNegativePositiveNums
	mov	r2, r0
	ldr	r3, [fp, #-8]
	add	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	tests, .-tests
	.section	.rodata
	.align	2
.LC6:
	.ascii	"rus\000"
	.align	2
.LC7:
	.ascii	"\320\222\321\201\320\265 \321\202\320\265\321\201\321"
	.ascii	"\202\321\213 \320\262\321\213\320\277\320\276\320\273"
	.ascii	"\320\275\320\265\320\275\321\213 \321\203\321\201\320"
	.ascii	"\277\320\265\321\210\320\275\320\276\000"
	.align	2
.LC8:
	.ascii	"%i \000"
	.align	2
.LC9:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 88
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #88
	ldr	r3, .L59
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r1, .L59+4
	mov	r0, #6
	bl	setlocale
	bl	tests
	mov	r3, r0
	cmp	r3, #0
	beq	.L54
	mov	r3, #1
	b	.L55
.L54:
	ldr	r0, .L59+8
	bl	puts
	sub	r3, fp, #88
	mov	r1, #20
	mov	r0, r3
	bl	arrayInitializationOnlyPositive
	sub	r3, fp, #88
	mov	r2, #19
	mov	r1, #0
	mov	r0, r3
	bl	quickSort
	mov	r3, #0
	str	r3, [fp, #-92]
	b	.L56
.L57:
	ldr	r3, [fp, #-92]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-84]
	mov	r1, r3
	ldr	r0, .L59+12
	bl	printf
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	str	r3, [fp, #-92]
.L56:
	ldr	r3, [fp, #-92]
	cmp	r3, #19
	ble	.L57
	mov	r3, #0
.L55:
	ldr	r2, .L59
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L58
	bl	__stack_chk_fail
.L58:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L60:
	.align	2
.L59:
	.word	.LC9
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
