	.file	"902130.c"
	.intel_syntax noprefix
	.text
	.globl	create
	.type	create, @function
create:
.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, 32
	mov	DWORD PTR -20[rbp], edi
	mov	edi, 24
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -20[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	create, .-create
	.globl	value
	.type	value, @function
value:
.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 -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	value, .-value
	.globl	next
	.type	next, @function
next:
.LFB8:
	.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	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	next, .-next
	.globl	prev
	.type	prev, @function
prev:
.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 -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	prev, .-prev
	.globl	begin
	.type	begin, @function
begin:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	QWORD PTR -8[rbp], rdi
	jmp	.L10
.L11:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	prev
	mov	QWORD PTR -8[rbp], rax
.L10:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	jne	.L11
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	begin, .-begin
	.globl	end
	.type	end, @function
end:
.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, 8
	mov	QWORD PTR -8[rbp], rdi
	jmp	.L14
.L15:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	next
	mov	QWORD PTR -8[rbp], rax
.L14:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L15
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	end, .-end
	.globl	erase
	.type	erase, @function
erase:
.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	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	next
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	prev
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	free@PLT
	cmp	QWORD PTR -16[rbp], 0
	je	.L18
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
.L18:
	cmp	QWORD PTR -8[rbp], 0
	je	.L19
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], rdx
.L19:
	mov	rax, QWORD PTR -16[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	erase, .-erase
	.globl	clear
	.type	clear, @function
clear:
.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, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	begin
	mov	QWORD PTR -8[rbp], rax
	nop
.L22:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	erase
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L22
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	clear, .-clear
	.globl	push_back
	.type	push_back, @function
push_back:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	end
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -28[rbp]
	mov	edi, eax
	call	create
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	push_back, .-push_back
	.globl	push_front
	.type	push_front, @function
push_front:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	begin
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -28[rbp]
	mov	edi, eax
	call	create
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	push_front, .-push_front
	.globl	pop_back
	.type	pop_back, @function
pop_back:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	end
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	prev
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	erase
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	pop_back, .-pop_back
	.globl	pop_front
	.type	pop_front, @function
pop_front:
.LFB17:
	.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	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	begin
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	erase
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	pop_front, .-pop_front
	.globl	size
	.type	size, @function
size:
.LFB18:
	.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	DWORD PTR -12[rbp], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	begin
	mov	QWORD PTR -8[rbp], rax
	jmp	.L32
.L33:
	add	DWORD PTR -12[rbp], 1
.L32:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	next
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L33
	mov	eax, DWORD PTR -12[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	size, .-size
	.globl	createFromArray
	.type	createFromArray, @function
createFromArray:
.LFB19:
	.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 -12[rbp], 0
	jmp	.L36
.L39:
	cmp	DWORD PTR -12[rbp], 0
	jne	.L37
	mov	eax, DWORD PTR -12[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	create
	mov	QWORD PTR -8[rbp], rax
	jmp	.L38
.L37:
	mov	eax, DWORD PTR -12[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	push_back
	mov	QWORD PTR -8[rbp], rax
.L38:
	add	DWORD PTR -12[rbp], 1
.L36:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jb	.L39
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	createFromArray, .-createFromArray
	.globl	insert
	.type	insert, @function
insert:
.LFB20:
	.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	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	next
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -28[rbp]
	mov	edi, eax
	call	create
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L42
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
.L42:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	insert, .-insert
	.globl	ffind
	.type	ffind, @function
ffind:
.LFB21:
	.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
	jmp	.L45
.L47:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	next
	mov	QWORD PTR -8[rbp], rax
.L45:
	cmp	QWORD PTR -8[rbp], 0
	je	.L46
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -12[rbp], eax
	jne	.L47
.L46:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	ffind, .-ffind
	.globl	rfind
	.type	rfind, @function
rfind:
.LFB22:
	.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
	jmp	.L50
.L52:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	prev
	mov	QWORD PTR -8[rbp], rax
.L50:
	cmp	QWORD PTR -8[rbp], 0
	je	.L51
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -12[rbp], eax
	jne	.L52
.L51:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	rfind, .-rfind
	.globl	swap
	.type	swap, @function
swap:
.LFB23:
	.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 -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR -40[rbp]
	cmp	rax, QWORD PTR -48[rbp]
	je	.L67
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	cmp	rax, QWORD PTR -48[rbp]
	jne	.L57
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -40[rbp]
	jne	.L57
	cmp	QWORD PTR -32[rbp], 0
	je	.L58
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 8[rax], rdx
.L58:
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	cmp	QWORD PTR -8[rbp], 0
	je	.L59
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 16[rax], rdx
.L59:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 16[rax], rdx
	jmp	.L54
.L57:
	mov	rax, QWORD PTR -32[rbp]
	cmp	rax, QWORD PTR -48[rbp]
	jne	.L60
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -40[rbp]
	jne	.L60
	cmp	QWORD PTR -16[rbp], 0
	je	.L61
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rax], rdx
.L61:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], rdx
	cmp	QWORD PTR -24[rbp], 0
	je	.L62
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 16[rax], rdx
.L62:
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rax], rdx
	jmp	.L54
.L60:
	cmp	QWORD PTR -32[rbp], 0
	je	.L63
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 8[rax], rdx
.L63:
	cmp	QWORD PTR -24[rbp], 0
	je	.L64
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 16[rax], rdx
.L64:
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], rdx
	cmp	QWORD PTR -16[rbp], 0
	je	.L65
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rax], rdx
.L65:
	cmp	QWORD PTR -8[rbp], 0
	je	.L66
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 16[rax], rdx
.L66:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	jmp	.L54
.L67:
	nop
.L54:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	swap, .-swap
	.globl	reverse
	.type	reverse, @function
reverse:
.LFB24:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 40
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	begin
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	end
	mov	QWORD PTR -24[rbp], rax
	jmp	.L69
.L72:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	next
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	prev
	mov	QWORD PTR -8[rbp], rax
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	swap
	mov	rax, QWORD PTR -24[rbp]
	cmp	rax, QWORD PTR -16[rbp]
	je	.L73
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -24[rbp], rax
.L69:
	mov	rax, QWORD PTR -32[rbp]
	cmp	rax, QWORD PTR -24[rbp]
	jne	.L72
	jmp	.L74
.L73:
	nop
.L74:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	reverse, .-reverse
	.globl	concat
	.type	concat, @function
concat:
.LFB25:
	.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	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	end
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	begin
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	begin
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	concat, .-concat
	.globl	distance
	.type	distance, @function
distance:
.LFB26:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	DWORD PTR -20[rbp], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	cmp	rax, QWORD PTR -48[rbp]
	jne	.L80
	mov	eax, 0
	jmp	.L79
.L85:
	cmp	QWORD PTR -16[rbp], 0
	je	.L81
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -48[rbp]
	jne	.L82
	mov	eax, DWORD PTR -20[rbp]
	jmp	.L79
.L82:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
.L81:
	cmp	QWORD PTR -8[rbp], 0
	je	.L83
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -48[rbp]
	jne	.L84
	mov	eax, DWORD PTR -20[rbp]
	neg	eax
	jmp	.L79
.L84:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -8[rbp], rax
.L83:
	add	DWORD PTR -20[rbp], 1
.L80:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L85
	cmp	QWORD PTR -8[rbp], 0
	jne	.L85
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	begin
	cmp	QWORD PTR -40[rbp], rax
	jne	.L86
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	end
	cmp	QWORD PTR -48[rbp], rax
	jne	.L86
	mov	eax, DWORD PTR -20[rbp]
	jmp	.L79
.L86:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	end
	cmp	QWORD PTR -40[rbp], rax
	jne	.L87
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	begin
	cmp	QWORD PTR -48[rbp], rax
	jne	.L87
	mov	eax, DWORD PTR -20[rbp]
	neg	eax
	jmp	.L79
.L87:
	mov	eax, 0
.L79:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	distance, .-distance
	.globl	unique
	.type	unique, @function
unique:
.LFB27:
	.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	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	begin
	mov	QWORD PTR -16[rbp], rax
	jmp	.L89
.L93:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L90
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jne	.L90
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	erase
.L90:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L95
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
.L89:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L93
	jmp	.L92
.L95:
	nop
.L92:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	begin
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	unique, .-unique
	.globl	rotate_left
	.type	rotate_left, @function
rotate_left:
.LFB28:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	size
	test	eax, eax
	je	.L97
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	begin
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -28[rbp], 0
	jmp	.L98
.L99:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	end
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -24[rbp], rax
	add	DWORD PTR -28[rbp], 1
.L98:
	mov	eax, DWORD PTR -28[rbp]
	cmp	eax, DWORD PTR -44[rbp]
	jne	.L99
.L97:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	begin
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	rotate_left, .-rotate_left
	.globl	shift_left
	.type	shift_left, @function
shift_left:
.LFB29:
	.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	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	size
	test	eax, eax
	je	.L102
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	begin
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -12[rbp], 0
	jmp	.L103
.L104:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	erase
	mov	QWORD PTR -8[rbp], rax
	add	DWORD PTR -12[rbp], 1
.L103:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jne	.L104
.L102:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	begin
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	shift_left, .-shift_left
	.globl	minmax
	.type	minmax, @function
minmax:
.LFB30:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 40
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	begin
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], edx
	jmp	.L107
.L110:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jle	.L108
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], edx
.L108:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jge	.L109
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], edx
.L109:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
.L107:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L110
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE30:
	.size	minmax, .-minmax
	.globl	includes
	.type	includes, @function
includes:
.LFB31:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	begin
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	begin
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	size
	mov	DWORD PTR -28[rbp], eax
	jmp	.L112
.L121:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jne	.L113
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L114
	mov	eax, 1
	jmp	.L115
.L114:
	mov	DWORD PTR -32[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L116
.L120:
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jne	.L122
	add	DWORD PTR -32[rbp], 1
	mov	eax, DWORD PTR -28[rbp]
	sub	eax, 1
	cmp	DWORD PTR -32[rbp], eax
	jne	.L119
	mov	eax, 1
	jmp	.L115
.L119:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
.L116:
	cmp	QWORD PTR -16[rbp], 0
	je	.L118
	cmp	QWORD PTR -8[rbp], 0
	jne	.L120
	jmp	.L118
.L122:
	nop
.L118:
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	begin
	mov	QWORD PTR -8[rbp], rax
.L113:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -24[rbp], rax
.L112:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L121
	mov	eax, 0
.L115:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE31:
	.size	includes, .-includes
	.section	.rodata
.LC0:
	.string	"%d "
	.text
	.globl	print
	.type	print, @function
print:
.LFB32:
	.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	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	begin
	mov	QWORD PTR -8[rbp], rax
.L124:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC0[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	next
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L124
	mov	edi, 10
	call	putchar@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE32:
	.size	print, .-print
	.section	.rodata
.LC1:
	.string	"Intial list: "
.LC2:
	.string	"list size: %d\n"
.LC3:
	.string	"Delete element with value 8: "
	.align 8
.LC4:
	.string	"Insert 12 after 11 by reverse search: "
.LC5:
	.string	"Swap 3 and 12: "
.LC6:
	.string	"Swap 4 and 5: "
.LC7:
	.string	"Swap again 4 and 5: "
.LC8:
	.string	"Reverse the list: "
	.align 8
.LC9:
	.string	"Push 55 and then reverse the list again: "
.LC10:
	.string	"Create another list: "
.LC11:
	.string	"Concatenate two lists: "
.LC12:
	.string	"Revese the new list: "
	.align 8
.LC13:
	.string	"Insert one 3 and two 7 after 15: "
	.align 8
.LC14:
	.string	"Apply unique function to the list: "
.LC15:
	.string	"Shift left 3 times: "
.LC16:
	.string	"Rotate left 2 times: "
	.align 8
.LC17:
	.string	"Distance between 14 and 15: %d\n"
	.align 8
.LC18:
	.string	"Distance between 15 and 14: %d\n"
.LC19:
	.string	"Distance between 5 and 4: %d\n"
.LC20:
	.string	"Distance between 5 and 5: %d\n"
	.align 8
.LC21:
	.string	"Distance between begin and end: %d\n"
.LC22:
	.string	"Create new list from array: "
.LC23:
	.string	"Yes"
.LC24:
	.string	"No"
	.align 8
.LC25:
	.string	"New list is included in the other one: %s\n"
.LC26:
	.string	"Min: %d, Max: %d\n"
.LC27:
	.string	"Free up the memory!"
	.text
	.globl	main
	.type	main, @function
main:
.LFB33:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 88
	.cfi_offset 3, -24
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	edi, 3
	call	create
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, 4
	mov	rdi, rax
	call	push_back
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, 2
	mov	rdi, rax
	call	push_front
	mov	DWORD PTR -88[rbp], 5
	jmp	.L126
.L127:
	mov	edx, DWORD PTR -88[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	push_back
	mov	QWORD PTR -80[rbp], rax
	add	DWORD PTR -88[rbp], 3
.L126:
	cmp	DWORD PTR -88[rbp], 14
	jle	.L127
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, 14
	mov	rdi, rax
	call	push_back
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	print
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	size
	mov	esi, eax
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	begin
	mov	esi, 8
	mov	rdi, rax
	call	ffind
	mov	rdi, rax
	call	erase
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	print
	lea	rdi, .LC4[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	end
	mov	esi, 11
	mov	rdi, rax
	call	rfind
	mov	esi, 12
	mov	rdi, rax
	call	insert
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	print
	lea	rdi, .LC5[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	end
	mov	esi, 12
	mov	rdi, rax
	call	rfind
	mov	rbx, rax
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	begin
	mov	esi, 3
	mov	rdi, rax
	call	ffind
	mov	rsi, rbx
	mov	rdi, rax
	call	swap
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	print
	lea	rdi, .LC6[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	begin
	mov	esi, 5
	mov	rdi, rax
	call	ffind
	mov	rbx, rax
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	begin
	mov	esi, 4
	mov	rdi, rax
	call	ffind
	mov	rsi, rbx
	mov	rdi, rax
	call	swap
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	print
	lea	rdi, .LC7[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	begin
	mov	esi, 5
	mov	rdi, rax
	call	ffind
	mov	rbx, rax
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	begin
	mov	esi, 4
	mov	rdi, rax
	call	ffind
	mov	rsi, rbx
	mov	rdi, rax
	call	swap
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	print
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	reverse
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	print
	lea	rdi, .LC9[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, 55
	mov	rdi, rax
	call	push_back
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	reverse
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	print
	lea	rdi, .LC10[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 120
	call	create
	mov	QWORD PTR -72[rbp], rax
	mov	DWORD PTR -84[rbp], 60
	jmp	.L128
.L129:
	mov	edx, DWORD PTR -84[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	push_front
	mov	QWORD PTR -72[rbp], rax
	mov	eax, DWORD PTR -84[rbp]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	DWORD PTR -84[rbp], eax
.L128:
	cmp	DWORD PTR -84[rbp], 5
	jg	.L129
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	print
	lea	rdi, .LC11[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	concat
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	print
	lea	rdi, .LC12[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	reverse
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	print
	lea	rdi, .LC13[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	begin
	mov	esi, 15
	mov	rdi, rax
	call	ffind
	mov	esi, 3
	mov	rdi, rax
	call	insert
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	esi, 7
	mov	rdi, rax
	call	insert
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	esi, 7
	mov	rdi, rax
	call	insert
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, 120
	mov	rdi, rax
	call	push_front
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	print
	lea	rdi, .LC14[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	unique
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	print
	lea	rdi, .LC15[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, 3
	mov	rdi, rax
	call	shift_left
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	print
	lea	rdi, .LC16[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, 2
	mov	rdi, rax
	call	rotate_left
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	print
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	begin
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, 15
	mov	rdi, rax
	call	ffind
	mov	rbx, rax
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, 14
	mov	rdi, rax
	call	ffind
	mov	rsi, rbx
	mov	rdi, rax
	call	distance
	mov	esi, eax
	lea	rdi, .LC17[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, 14
	mov	rdi, rax
	call	ffind
	mov	rbx, rax
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, 15
	mov	rdi, rax
	call	ffind
	mov	rsi, rbx
	mov	rdi, rax
	call	distance
	mov	esi, eax
	lea	rdi, .LC18[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, 4
	mov	rdi, rax
	call	ffind
	mov	rbx, rax
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, 5
	mov	rdi, rax
	call	ffind
	mov	rsi, rbx
	mov	rdi, rax
	call	distance
	mov	esi, eax
	lea	rdi, .LC19[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, 5
	mov	rdi, rax
	call	ffind
	mov	rbx, rax
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, 5
	mov	rdi, rax
	call	ffind
	mov	rsi, rbx
	mov	rdi, rax
	call	distance
	mov	esi, eax
	lea	rdi, .LC20[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	end
	mov	rbx, rax
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	begin
	mov	rsi, rbx
	mov	rdi, rax
	call	distance
	mov	esi, eax
	lea	rdi, .LC21[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	size
	mov	esi, eax
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC22[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR -48[rbp], 11
	mov	DWORD PTR -44[rbp], 5
	mov	DWORD PTR -40[rbp], 4
	mov	DWORD PTR -36[rbp], 12
	mov	DWORD PTR -32[rbp], 2
	lea	rax, -48[rbp]
	mov	esi, 5
	mov	rdi, rax
	call	createFromArray
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	print
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	begin
	mov	rbx, rax
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	begin
	mov	rsi, rbx
	mov	rdi, rax
	call	includes
	test	al, al
	je	.L130
	lea	rax, .LC23[rip]
	jmp	.L131
.L130:
	lea	rax, .LC24[rip]
.L131:
	mov	rsi, rax
	lea	rdi, .LC25[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, -92[rbp]
	lea	rcx, -96[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	minmax
	mov	edx, DWORD PTR -92[rbp]
	mov	eax, DWORD PTR -96[rbp]
	mov	esi, eax
	lea	rdi, .LC26[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC27[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	clear
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	clear
	mov	eax, 0
	mov	rcx, QWORD PTR -24[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L133
	call	__stack_chk_fail@PLT
.L133:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE33:
	.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	"902130.c"
	.text
	.align	2
	.global	create
	.syntax unified
	.arm
	.fpu softvfp
	.type	create, %function
create:
	@ 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]
	mov	r0, #12
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	create, .-create
	.align	2
	.global	value
	.syntax unified
	.arm
	.fpu softvfp
	.type	value, %function
value:
	@ 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]
	ldr	r3, [r3]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	value, .-value
	.align	2
	.global	next
	.syntax unified
	.arm
	.fpu softvfp
	.type	next, %function
next:
	@ 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]
	ldr	r3, [r3, #4]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	next, .-next
	.align	2
	.global	prev
	.syntax unified
	.arm
	.fpu softvfp
	.type	prev, %function
prev:
	@ 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]
	ldr	r3, [r3, #8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	prev, .-prev
	.align	2
	.global	begin
	.syntax unified
	.arm
	.fpu softvfp
	.type	begin, %function
begin:
	@ 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]
	b	.L10
.L11:
	ldr	r0, [fp, #-8]
	bl	prev
	str	r0, [fp, #-8]
.L10:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L11
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	begin, .-begin
	.align	2
	.global	end
	.syntax unified
	.arm
	.fpu softvfp
	.type	end, %function
end:
	@ 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]
	b	.L14
.L15:
	ldr	r0, [fp, #-8]
	bl	next
	str	r0, [fp, #-8]
.L14:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L15
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	end, .-end
	.align	2
	.global	erase
	.syntax unified
	.arm
	.fpu softvfp
	.type	erase, %function
erase:
	@ 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]
	ldr	r0, [fp, #-16]
	bl	next
	str	r0, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	prev
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	free
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L18
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #8]
.L18:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L19
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #4]
.L19:
	ldr	r3, [fp, #-12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	erase, .-erase
	.align	2
	.global	clear
	.syntax unified
	.arm
	.fpu softvfp
	.type	clear, %function
clear:
	@ 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	r0, [fp, #-8]
	bl	begin
	str	r0, [fp, #-8]
	nop
.L22:
	ldr	r0, [fp, #-8]
	bl	erase
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L22
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	clear, .-clear
	.align	2
	.global	push_back
	.syntax unified
	.arm
	.fpu softvfp
	.type	push_back, %function
push_back:
	@ 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]
	ldr	r0, [fp, #-16]
	bl	end
	str	r0, [fp, #-12]
	ldr	r0, [fp, #-20]
	bl	create
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	push_back, .-push_back
	.align	2
	.global	push_front
	.syntax unified
	.arm
	.fpu softvfp
	.type	push_front, %function
push_front:
	@ 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]
	ldr	r0, [fp, #-16]
	bl	begin
	str	r0, [fp, #-12]
	ldr	r0, [fp, #-20]
	bl	create
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	push_front, .-push_front
	.align	2
	.global	pop_back
	.syntax unified
	.arm
	.fpu softvfp
	.type	pop_back, %function
pop_back:
	@ 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]
	ldr	r0, [fp, #-16]
	bl	end
	str	r0, [fp, #-12]
	ldr	r0, [fp, #-12]
	bl	prev
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-12]
	bl	erase
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	pop_back, .-pop_back
	.align	2
	.global	pop_front
	.syntax unified
	.arm
	.fpu softvfp
	.type	pop_front, %function
pop_front:
	@ 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]
	ldr	r0, [fp, #-16]
	bl	begin
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	erase
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	pop_front, .-pop_front
	.align	2
	.global	size
	.syntax unified
	.arm
	.fpu softvfp
	.type	size, %function
size:
	@ 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]
	mov	r3, #1
	str	r3, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	begin
	str	r0, [fp, #-8]
	b	.L32
.L33:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L32:
	ldr	r0, [fp, #-8]
	bl	next
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L33
	ldr	r3, [fp, #-12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	size, .-size
	.align	2
	.global	createFromArray
	.syntax unified
	.arm
	.fpu softvfp
	.type	createFromArray, %function
createFromArray:
	@ 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	.L36
.L39:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L37
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	create
	str	r0, [fp, #-12]
	b	.L38
.L37:
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-12]
	bl	push_back
	str	r0, [fp, #-12]
.L38:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L36:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bcc	.L39
	ldr	r3, [fp, #-12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	createFromArray, .-createFromArray
	.align	2
	.global	insert
	.syntax unified
	.arm
	.fpu softvfp
	.type	insert, %function
insert:
	@ 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]
	ldr	r0, [fp, #-16]
	bl	next
	str	r0, [fp, #-12]
	ldr	r0, [fp, #-20]
	bl	create
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L42
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #8]
.L42:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	insert, .-insert
	.align	2
	.global	ffind
	.syntax unified
	.arm
	.fpu softvfp
	.type	ffind, %function
ffind:
	@ 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]
	b	.L45
.L47:
	ldr	r0, [fp, #-8]
	bl	next
	str	r0, [fp, #-8]
.L45:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L46
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bne	.L47
.L46:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	ffind, .-ffind
	.align	2
	.global	rfind
	.syntax unified
	.arm
	.fpu softvfp
	.type	rfind, %function
rfind:
	@ 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]
	b	.L50
.L52:
	ldr	r0, [fp, #-8]
	bl	prev
	str	r0, [fp, #-8]
.L50:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L51
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bne	.L52
.L51:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	rfind, .-rfind
	.align	2
	.global	swap
	.syntax unified
	.arm
	.fpu softvfp
	.type	swap, %function
swap:
	@ 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, #-24]
	str	r1, [fp, #-28]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	beq	.L67
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bne	.L57
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	bne	.L57
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L58
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #4]
.L58:
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L59
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #8]
.L59:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #8]
	b	.L54
.L57:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bne	.L60
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	bne	.L60
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L61
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #4]
.L61:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L62
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #8]
.L62:
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #8]
	b	.L54
.L60:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L63
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #4]
.L63:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L64
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #8]
.L64:
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L65
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #4]
.L65:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L66
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #8]
.L66:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #4]
	b	.L54
.L67:
	nop
.L54:
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	swap, .-swap
	.align	2
	.global	reverse
	.syntax unified
	.arm
	.fpu softvfp
	.type	reverse, %function
reverse:
	@ 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, #-24]
	ldr	r0, [fp, #-24]
	bl	begin
	str	r0, [fp, #-20]
	ldr	r0, [fp, #-24]
	bl	end
	str	r0, [fp, #-16]
	b	.L69
.L72:
	ldr	r0, [fp, #-20]
	bl	next
	str	r0, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	prev
	str	r0, [fp, #-8]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-20]
	bl	swap
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	beq	.L73
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-16]
.L69:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bne	.L72
	b	.L74
.L73:
	nop
.L74:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	reverse, .-reverse
	.align	2
	.global	concat
	.syntax unified
	.arm
	.fpu softvfp
	.type	concat, %function
concat:
	@ 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]
	ldr	r0, [fp, #-16]
	bl	end
	str	r0, [fp, #-12]
	ldr	r0, [fp, #-20]
	bl	begin
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r0, [fp, #-16]
	bl	begin
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	concat, .-concat
	.align	2
	.global	distance
	.syntax unified
	.arm
	.fpu softvfp
	.type	distance, %function
distance:
	@ 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, #-24]
	str	r1, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bne	.L80
	mov	r3, #0
	b	.L79
.L85:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L81
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bne	.L82
	ldr	r3, [fp, #-16]
	b	.L79
.L82:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
.L81:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L83
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bne	.L84
	ldr	r3, [fp, #-16]
	rsb	r3, r3, #0
	b	.L79
.L84:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-8]
.L83:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L80:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L85
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L85
	ldr	r0, [fp, #-24]
	bl	begin
	mov	r2, r0
	ldr	r3, [fp, #-24]
	cmp	r3, r2
	bne	.L86
	ldr	r0, [fp, #-28]
	bl	end
	mov	r2, r0
	ldr	r3, [fp, #-28]
	cmp	r3, r2
	bne	.L86
	ldr	r3, [fp, #-16]
	b	.L79
.L86:
	ldr	r0, [fp, #-24]
	bl	end
	mov	r2, r0
	ldr	r3, [fp, #-24]
	cmp	r3, r2
	bne	.L87
	ldr	r0, [fp, #-28]
	bl	begin
	mov	r2, r0
	ldr	r3, [fp, #-28]
	cmp	r3, r2
	bne	.L87
	ldr	r3, [fp, #-16]
	rsb	r3, r3, #0
	b	.L79
.L87:
	mov	r3, #0
.L79:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	distance, .-distance
	.align	2
	.global	unique
	.syntax unified
	.arm
	.fpu softvfp
	.type	unique, %function
unique:
	@ 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]
	ldr	r0, [fp, #-16]
	bl	begin
	str	r0, [fp, #-12]
	b	.L89
.L93:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L90
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L90
	ldr	r0, [fp, #-8]
	bl	erase
.L90:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L95
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
.L89:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L93
	b	.L92
.L95:
	nop
.L92:
	ldr	r0, [fp, #-12]
	bl	begin
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	unique, .-unique
	.align	2
	.global	rotate_left
	.syntax unified
	.arm
	.fpu softvfp
	.type	rotate_left, %function
rotate_left:
	@ 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, #-24]
	str	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	size
	mov	r3, r0
	cmp	r3, #0
	beq	.L97
	ldr	r0, [fp, #-24]
	bl	begin
	str	r0, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L98
.L99:
	ldr	r0, [fp, #-20]
	bl	end
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L98:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bne	.L99
.L97:
	ldr	r0, [fp, #-24]
	bl	begin
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	rotate_left, .-rotate_left
	.align	2
	.global	shift_left
	.syntax unified
	.arm
	.fpu softvfp
	.type	shift_left, %function
shift_left:
	@ 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]
	ldr	r0, [fp, #-16]
	bl	size
	mov	r3, r0
	cmp	r3, #0
	beq	.L102
	ldr	r0, [fp, #-16]
	bl	begin
	str	r0, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L103
.L104:
	ldr	r0, [fp, #-12]
	bl	erase
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L103:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bne	.L104
.L102:
	ldr	r0, [fp, #-16]
	bl	begin
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	shift_left, .-shift_left
	.align	2
	.global	minmax
	.syntax unified
	.arm
	.fpu softvfp
	.type	minmax, %function
minmax:
	@ 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	r0, [fp, #-16]
	bl	begin
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	str	r2, [r3]
	b	.L107
.L110:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L108
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	str	r2, [r3]
.L108:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	cmp	r2, r3
	bge	.L109
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	str	r2, [r3]
.L109:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
.L107:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L110
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	minmax, .-minmax
	.align	2
	.global	includes
	.syntax unified
	.arm
	.fpu softvfp
	.type	includes, %function
includes:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	begin
	str	r0, [fp, #-24]
	ldr	r0, [fp, #-36]
	bl	begin
	str	r0, [fp, #-16]
	ldr	r0, [fp, #-36]
	bl	size
	mov	r3, r0
	str	r3, [fp, #-8]
	b	.L112
.L121:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L113
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L114
	mov	r3, #1
	b	.L115
.L114:
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-20]
	b	.L116
.L120:
	ldr	r3, [fp, #-20]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L122
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bne	.L119
	mov	r3, #1
	b	.L115
.L119:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
.L116:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L118
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L120
	b	.L118
.L122:
	nop
.L118:
	ldr	r0, [fp, #-36]
	bl	begin
	str	r0, [fp, #-16]
.L113:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-24]
.L112:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L121
	mov	r3, #0
.L115:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	includes, .-includes
	.section	.rodata
	.align	2
.LC1:
	.ascii	"%d \000"
	.text
	.align	2
	.global	print
	.syntax unified
	.arm
	.fpu softvfp
	.type	print, %function
print:
	@ 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]
	ldr	r0, [fp, #-16]
	bl	begin
	str	r0, [fp, #-8]
.L124:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L125
	bl	printf
	ldr	r0, [fp, #-8]
	bl	next
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L124
	mov	r0, #10
	bl	putchar
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L126:
	.align	2
.L125:
	.word	.LC1
	.size	print, .-print
	.section	.rodata
	.align	2
.LC2:
	.ascii	"Intial list: \000"
	.align	2
.LC3:
	.ascii	"list size: %d\012\000"
	.align	2
.LC4:
	.ascii	"Delete element with value 8: \000"
	.align	2
.LC5:
	.ascii	"Insert 12 after 11 by reverse search: \000"
	.align	2
.LC6:
	.ascii	"Swap 3 and 12: \000"
	.align	2
.LC7:
	.ascii	"Swap 4 and 5: \000"
	.align	2
.LC8:
	.ascii	"Swap again 4 and 5: \000"
	.align	2
.LC9:
	.ascii	"Reverse the list: \000"
	.align	2
.LC10:
	.ascii	"Push 55 and then reverse the list again: \000"
	.align	2
.LC11:
	.ascii	"Create another list: \000"
	.align	2
.LC12:
	.ascii	"Concatenate two lists: \000"
	.align	2
.LC13:
	.ascii	"Revese the new list: \000"
	.align	2
.LC14:
	.ascii	"Insert one 3 and two 7 after 15: \000"
	.align	2
.LC15:
	.ascii	"Apply unique function to the list: \000"
	.align	2
.LC16:
	.ascii	"Shift left 3 times: \000"
	.align	2
.LC17:
	.ascii	"Rotate left 2 times: \000"
	.align	2
.LC18:
	.ascii	"Distance between 14 and 15: %d\012\000"
	.align	2
.LC19:
	.ascii	"Distance between 15 and 14: %d\012\000"
	.align	2
.LC20:
	.ascii	"Distance between 5 and 4: %d\012\000"
	.align	2
.LC21:
	.ascii	"Distance between 5 and 5: %d\012\000"
	.align	2
.LC22:
	.ascii	"Distance between begin and end: %d\012\000"
	.align	2
.LC23:
	.ascii	"Create new list from array: \000"
	.align	2
.LC24:
	.ascii	"Yes\000"
	.align	2
.LC25:
	.ascii	"No\000"
	.align	2
.LC26:
	.ascii	"New list is included in the other one: %s\012\000"
	.align	2
.LC27:
	.ascii	"Min: %d, Max: %d\012\000"
	.align	2
.LC28:
	.ascii	"Free up the memory!\000"
	.align	2
.LC0:
	.word	11
	.word	5
	.word	4
	.word	12
	.word	2
	.align	2
.LC29:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #60
	ldr	r3, .L136
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r0, #3
	bl	create
	str	r0, [fp, #-60]
	mov	r1, #4
	ldr	r0, [fp, #-60]
	bl	push_back
	mov	r1, #2
	ldr	r0, [fp, #-60]
	bl	push_front
	mov	r3, #5
	str	r3, [fp, #-56]
	b	.L128
.L129:
	ldr	r1, [fp, #-56]
	ldr	r0, [fp, #-60]
	bl	push_back
	str	r0, [fp, #-60]
	ldr	r3, [fp, #-56]
	add	r3, r3, #3
	str	r3, [fp, #-56]
.L128:
	ldr	r3, [fp, #-56]
	cmp	r3, #14
	ble	.L129
	mov	r1, #14
	ldr	r0, [fp, #-60]
	bl	push_back
	ldr	r0, .L136+4
	bl	printf
	ldr	r0, [fp, #-60]
	bl	print
	ldr	r0, [fp, #-60]
	bl	size
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L136+8
	bl	printf
	ldr	r0, .L136+12
	bl	printf
	ldr	r0, [fp, #-60]
	bl	begin
	mov	r3, r0
	mov	r1, #8
	mov	r0, r3
	bl	ffind
	mov	r3, r0
	mov	r0, r3
	bl	erase
	ldr	r0, [fp, #-60]
	bl	print
	ldr	r0, .L136+16
	bl	printf
	ldr	r0, [fp, #-60]
	bl	end
	mov	r3, r0
	mov	r1, #11
	mov	r0, r3
	bl	rfind
	mov	r3, r0
	mov	r1, #12
	mov	r0, r3
	bl	insert
	ldr	r0, [fp, #-60]
	bl	print
	ldr	r0, .L136+20
	bl	printf
	ldr	r0, [fp, #-60]
	bl	begin
	mov	r3, r0
	mov	r1, #3
	mov	r0, r3
	bl	ffind
	mov	r4, r0
	ldr	r0, [fp, #-60]
	bl	end
	mov	r3, r0
	mov	r1, #12
	mov	r0, r3
	bl	rfind
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	swap
	ldr	r0, [fp, #-60]
	bl	print
	ldr	r0, .L136+24
	bl	printf
	ldr	r0, [fp, #-60]
	bl	begin
	mov	r3, r0
	mov	r1, #4
	mov	r0, r3
	bl	ffind
	mov	r4, r0
	ldr	r0, [fp, #-60]
	bl	begin
	mov	r3, r0
	mov	r1, #5
	mov	r0, r3
	bl	ffind
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	swap
	ldr	r0, [fp, #-60]
	bl	print
	ldr	r0, .L136+28
	bl	printf
	ldr	r0, [fp, #-60]
	bl	begin
	mov	r3, r0
	mov	r1, #4
	mov	r0, r3
	bl	ffind
	mov	r4, r0
	ldr	r0, [fp, #-60]
	bl	begin
	mov	r3, r0
	mov	r1, #5
	mov	r0, r3
	bl	ffind
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	swap
	ldr	r0, [fp, #-60]
	bl	print
	ldr	r0, .L136+32
	bl	printf
	ldr	r0, [fp, #-60]
	bl	reverse
	ldr	r0, [fp, #-60]
	bl	print
	ldr	r0, .L136+36
	bl	printf
	mov	r1, #55
	ldr	r0, [fp, #-60]
	bl	push_back
	ldr	r0, [fp, #-60]
	bl	reverse
	ldr	r0, [fp, #-60]
	bl	print
	ldr	r0, .L136+40
	bl	printf
	mov	r0, #120
	bl	create
	str	r0, [fp, #-52]
	mov	r3, #60
	str	r3, [fp, #-48]
	b	.L130
.L131:
	ldr	r1, [fp, #-48]
	ldr	r0, [fp, #-52]
	bl	push_front
	str	r0, [fp, #-52]
	ldr	r3, [fp, #-48]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-48]
.L130:
	ldr	r3, [fp, #-48]
	cmp	r3, #5
	bgt	.L131
	ldr	r0, [fp, #-52]
	bl	print
	ldr	r0, .L136+44
	bl	printf
	ldr	r1, [fp, #-52]
	ldr	r0, [fp, #-60]
	bl	concat
	str	r0, [fp, #-60]
	ldr	r0, [fp, #-60]
	bl	print
	ldr	r0, .L136+48
	bl	printf
	ldr	r0, [fp, #-60]
	bl	reverse
	ldr	r0, [fp, #-60]
	bl	print
	ldr	r0, .L136+52
	bl	printf
	ldr	r0, [fp, #-60]
	bl	begin
	mov	r3, r0
	mov	r1, #15
	mov	r0, r3
	bl	ffind
	mov	r3, r0
	mov	r1, #3
	mov	r0, r3
	bl	insert
	str	r0, [fp, #-44]
	mov	r1, #7
	ldr	r0, [fp, #-44]
	bl	insert
	str	r0, [fp, #-44]
	mov	r1, #7
	ldr	r0, [fp, #-44]
	bl	insert
	mov	r1, #120
	ldr	r0, [fp, #-60]
	bl	push_front
	ldr	r0, [fp, #-60]
	bl	print
	ldr	r0, .L136+56
	bl	printf
	ldr	r0, [fp, #-60]
	bl	unique
	ldr	r0, [fp, #-60]
	bl	print
	ldr	r0, .L136+60
	bl	printf
	mov	r1, #3
	ldr	r0, [fp, #-60]
	bl	shift_left
	ldr	r0, [fp, #-60]
	bl	print
	ldr	r0, .L136+64
	bl	printf
	mov	r1, #2
	ldr	r0, [fp, #-60]
	bl	rotate_left
	ldr	r0, [fp, #-60]
	bl	print
	ldr	r0, [fp, #-60]
	bl	begin
	str	r0, [fp, #-60]
	mov	r1, #14
	ldr	r0, [fp, #-60]
	bl	ffind
	mov	r4, r0
	mov	r1, #15
	ldr	r0, [fp, #-60]
	bl	ffind
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	distance
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L136+68
	bl	printf
	mov	r1, #15
	ldr	r0, [fp, #-60]
	bl	ffind
	mov	r4, r0
	mov	r1, #14
	ldr	r0, [fp, #-60]
	bl	ffind
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	distance
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L136+72
	bl	printf
	mov	r1, #5
	ldr	r0, [fp, #-60]
	bl	ffind
	mov	r4, r0
	mov	r1, #4
	ldr	r0, [fp, #-60]
	bl	ffind
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	distance
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L136+76
	bl	printf
	mov	r1, #5
	ldr	r0, [fp, #-60]
	bl	ffind
	mov	r4, r0
	mov	r1, #5
	ldr	r0, [fp, #-60]
	bl	ffind
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	distance
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L136+80
	bl	printf
	ldr	r0, [fp, #-60]
	bl	begin
	mov	r4, r0
	ldr	r0, [fp, #-60]
	bl	end
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	distance
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L136+84
	bl	printf
	ldr	r0, [fp, #-60]
	bl	size
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L136+8
	bl	printf
	ldr	r0, .L136+88
	bl	printf
	ldr	r3, .L136+92
	sub	ip, fp, #36
	mov	lr, r3
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldr	r3, [lr]
	str	r3, [ip]
	sub	r3, fp, #36
	mov	r1, #5
	mov	r0, r3
	bl	createFromArray
	str	r0, [fp, #-40]
	ldr	r0, [fp, #-40]
	bl	print
	ldr	r0, [fp, #-60]
	bl	begin
	mov	r4, r0
	ldr	r0, [fp, #-40]
	bl	begin
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	includes
	mov	r3, r0
	cmp	r3, #0
	beq	.L132
	ldr	r3, .L136+96
	b	.L133
.L132:
	ldr	r3, .L136+100
.L133:
	mov	r1, r3
	ldr	r0, .L136+104
	bl	printf
	sub	r2, fp, #64
	sub	r3, fp, #68
	mov	r1, r3
	ldr	r0, [fp, #-60]
	bl	minmax
	ldr	r3, [fp, #-68]
	ldr	r2, [fp, #-64]
	mov	r1, r3
	ldr	r0, .L136+108
	bl	printf
	ldr	r0, .L136+112
	bl	puts
	ldr	r0, [fp, #-60]
	bl	clear
	ldr	r0, [fp, #-40]
	bl	clear
	mov	r3, #0
	ldr	r2, .L136
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L135
	bl	__stack_chk_fail
.L135:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L137:
	.align	2
.L136:
	.word	.LC29
	.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
	.word	.LC22
	.word	.LC23
	.word	.LC0
	.word	.LC24
	.word	.LC25
	.word	.LC26
	.word	.LC27
	.word	.LC28
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
