// File: /workspace/github_c_makefile_star2_O0/aligrudi[P]gpss/gpss.c
// Function: data_read
static int data_read(FILE *fp)
{
	int i, j;
	int pt_i[NPT] = {0};
	if (fscanf(fp, "%d", &ln_n) != 1)
		return -1;
	ln = malloc(ln_n * sizeof(ln[0]));
	ln_cnt = malloc(ln_n * sizeof(ln_cnt[0]));
	for (i = 0; i < ln_n; i++) {
		fscanf(fp, "%d", &ln_cnt[i]);
		ln[i] = malloc(ln_cnt[i] * sizeof(ln[i][0]));
		for (j = 0; j < ln_cnt[i]; j++)
			if (fscanf(fp, "%d", &ln[i][j]) != 1)
				return -1;
	}
	pt_ln = malloc(NPT * sizeof(pt_ln[0]));
	pt_cnt = malloc(NPT * sizeof(pt_cnt[0]));
	for (i = 0; i < ln_n; i++)
		for (j = 0; j < ln_cnt[i]; j++)
			pt_cnt[ln[i][j]]++;
	for (i = 0; i < NPT; i++)
		if (pt_cnt[i])
			pt_n = i + 1;
	for (i = 0; i < pt_n; i++)
		if (pt_cnt[i])
			pt_ln[i] = malloc(pt_cnt[i] * sizeof(pt_ln[i][0]));
	for (i = 0; i < ln_n; i++)
		for (j = 0; j < ln_cnt[i]; j++)
			pt_ln[ln[i][j]][pt_i[ln[i][j]]++] = i;
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x9c60, %rsp           # imm = 0x9C60
movq %rdi, -0x10(%rbp)
leaq -0x9c60(%rbp), %rdi
xorl %esi, %esi
movl $0x9c40, %edx           # imm = 0x9C40
callq 0x1060
movq -0x10(%rbp), %rdi
leaq 0x1bad(%rip), %rsi      # 0x301a
leaq 0x3bf8(%rip), %rdx      # 0x506c
movb $0x0, %al
callq 0x1040
cmpl $0x1, %eax
je 0x148c
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x175a
movslq 0x3bd9(%rip), %rdi      # 0x506c
shlq $0x3, %rdi
callq 0x1080
movq %rax, 0x3bcd(%rip)      # 0x5070
movslq 0x3bc2(%rip), %rdi      # 0x506c
shlq $0x2, %rdi
callq 0x1080
movq %rax, 0x3bbe(%rip)      # 0x5078
movl $0x0, -0x14(%rbp)
movl -0x14(%rbp), %eax
cmpl 0x3ba2(%rip), %eax      # 0x506c
jge 0x1592
movq -0x10(%rbp), %rdi
movq 0x3b9d(%rip), %rdx      # 0x5078
movslq -0x14(%rbp), %rax
shlq $0x2, %rax
addq %rax, %rdx
leaq 0x1b2d(%rip), %rsi      # 0x301a
movb $0x0, %al
callq 0x1040
movq 0x3b7d(%rip), %rax      # 0x5078
movslq -0x14(%rbp), %rcx
movslq (%rax,%rcx,4), %rdi
shlq $0x2, %rdi
callq 0x1080
movq %rax, %rdx
movq 0x3b5a(%rip), %rax      # 0x5070
movslq -0x14(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movl $0x0, -0x18(%rbp)
movl -0x18(%rbp), %eax
movq 0x3b49(%rip), %rcx      # 0x5078
movslq -0x14(%rbp), %rdx
cmpl (%rcx,%rdx,4), %eax
jge 0x1582
movq -0x10(%rbp), %rdi
movq 0x3b2d(%rip), %rax      # 0x5070
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rdx
movslq -0x18(%rbp), %rax
shlq $0x2, %rax
addq %rax, %rdx
leaq 0x1abd(%rip), %rsi      # 0x301a
movb $0x0, %al
callq 0x1040
cmpl $0x1, %eax
je 0x1575
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x175a
jmp 0x1577
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x1525
jmp 0x1584
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x14c1
movl $0x13880, %edi          # imm = 0x13880
callq 0x1080
movq %rax, 0x3add(%rip)      # 0x5080
movl $0x9c40, %edi           # imm = 0x9C40
callq 0x1080
movq %rax, 0x3ad4(%rip)      # 0x5088
movl $0x0, -0x14(%rbp)
movl -0x14(%rbp), %eax
cmpl 0x3aa8(%rip), %eax      # 0x506c
jge 0x161f
movl $0x0, -0x18(%rbp)
movl -0x18(%rbp), %eax
movq 0x3aa1(%rip), %rcx      # 0x5078
movslq -0x14(%rbp), %rdx
cmpl (%rcx,%rdx,4), %eax
jge 0x1612
movq 0x3aa1(%rip), %rax      # 0x5088
movq 0x3a82(%rip), %rcx      # 0x5070
movslq -0x14(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movslq -0x18(%rbp), %rdx
movslq (%rcx,%rdx,4), %rcx
movl (%rax,%rcx,4), %edx
addl $0x1, %edx
movl %edx, (%rax,%rcx,4)
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x15cd
jmp 0x1614
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x15bb
movl $0x0, -0x14(%rbp)
cmpl $0x2710, -0x14(%rbp)    # imm = 0x2710
jge 0x1659
movq 0x3a52(%rip), %rax      # 0x5088
movslq -0x14(%rbp), %rcx
cmpl $0x0, (%rax,%rcx,4)
je 0x164c
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, 0x3a1c(%rip)      # 0x5068
jmp 0x164e
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x1626
movl $0x0, -0x14(%rbp)
movl -0x14(%rbp), %eax
cmpl 0x39ff(%rip), %eax      # 0x5068
jge 0x16b3
movq 0x3a16(%rip), %rax      # 0x5088
movslq -0x14(%rbp), %rcx
cmpl $0x0, (%rax,%rcx,4)
je 0x16a6
movq 0x3a05(%rip), %rax      # 0x5088
movslq -0x14(%rbp), %rcx
movslq (%rax,%rcx,4), %rdi
shlq $0x2, %rdi
callq 0x1080
movq %rax, %rdx
movq 0x39e2(%rip), %rax      # 0x5080
movslq -0x14(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
jmp 0x16a8
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x1660
movl $0x0, -0x14(%rbp)
movl -0x14(%rbp), %eax
cmpl 0x39a9(%rip), %eax      # 0x506c
jge 0x1753
movl $0x0, -0x18(%rbp)
movl -0x18(%rbp), %eax
movq 0x399e(%rip), %rcx      # 0x5078
movslq -0x14(%rbp), %rdx
cmpl (%rcx,%rdx,4), %eax
jge 0x1743
movl -0x14(%rbp), %edx
movq 0x3993(%rip), %rax      # 0x5080
movq 0x397c(%rip), %rcx      # 0x5070
movslq -0x14(%rbp), %rsi
movq (%rcx,%rsi,8), %rcx
movslq -0x18(%rbp), %rsi
movslq (%rcx,%rsi,4), %rcx
movq (%rax,%rcx,8), %rax
movq 0x3961(%rip), %rcx      # 0x5070
movslq -0x14(%rbp), %rsi
movq (%rcx,%rsi,8), %rcx
movslq -0x18(%rbp), %rsi
movslq (%rcx,%rsi,4), %rsi
movl -0x9c60(%rbp,%rsi,4), %ecx
movl %ecx, %edi
addl $0x1, %edi
movl %edi, -0x9c60(%rbp,%rsi,4)
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x16d0
jmp 0x1745
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x16ba
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x9c60, %rsp           # imm = 0x9C60
popq %rbp
retq
nopw %cs:(%rax,%rax)