// File: asd00012334[P]Abstract-Algebra-2018/main.cpp
// Function: loader()
std::vector<SubS5> loader(){
    using namespace std;
    fstream fin("CycleType.import",ios::in);
    vector<SubS5> out;
    while(1){
        SubS5 tmp;
        string op; fin>>op;
        if(op==".") break;
        do{
            if(op=="."){
                out.push_back(tmp);
                break;
            }
            if(op=="name") fin>>tmp.name;
            else if(op=="order") fin>>tmp.order;
            else if(op=="cycle"){
                int accum = 0;
                while(accum<tmp.order){
                    int cnt; fin>>cnt;
                    accum += cnt;
                    DegreeList dlist;
                    for(int deg=0, i=1;deg<5;++i){
                        int val;
                        fin>>val;
                        deg+=val*i;
                        dlist.push_back(val);
                    }
                    tmp.cycle[dlist] = cnt;
                }
            }
            op.clear(); fin>>op;
        }while(1);
    }
    fin.close();
    return out;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x310, %rsp            # imm = 0x310
movq %rdi, -0x2e0(%rbp)
movq %rdi, %rax
movq %rax, -0x2e8(%rbp)
movq %rdi, -0x8(%rbp)
leaq -0x218(%rbp), %rdi
leaq 0x114fe(%rip), %rsi     # 0x1502c
movl $0x8, %edx
callq 0x2230
movq -0x2e0(%rbp), %rdi
movb $0x0, -0x219(%rbp)
callq 0x6740
jmp 0x3b4d
leaq -0x278(%rbp), %rdi
callq 0x6760
leaq -0x298(%rbp), %rdi
movq %rdi, -0x2f0(%rbp)
callq 0x2240
movq -0x2f0(%rbp), %rsi
leaq -0x218(%rbp), %rdi
callq 0x2210
jmp 0x3b81
leaq 0x114b5(%rip), %rsi     # 0x1503d
leaq -0x298(%rbp), %rdi
callq 0x6790
movb %al, -0x2f1(%rbp)
jmp 0x3b9c
movb -0x2f1(%rbp), %al
testb $0x1, %al
jne 0x3ba8
jmp 0x3bce
movl $0x3, -0x2a8(%rbp)
jmp 0x3e38
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2a0(%rbp)
movl %eax, -0x2a4(%rbp)
jmp 0x3e63
jmp 0x3bd0
leaq 0x11466(%rip), %rsi     # 0x1503d
leaq -0x298(%rbp), %rdi
callq 0x6790
movb %al, -0x2f2(%rbp)
jmp 0x3beb
movb -0x2f2(%rbp), %al
testb $0x1, %al
jne 0x3bf7
jmp 0x3c11
movq -0x2e0(%rbp), %rdi
leaq -0x278(%rbp), %rsi
callq 0x67c0
jmp 0x3c0c
jmp 0x3e2e
leaq 0x11427(%rip), %rsi     # 0x1503f
leaq -0x298(%rbp), %rdi
callq 0x6790
movb %al, -0x2f3(%rbp)
jmp 0x3c2c
movb -0x2f3(%rbp), %al
testb $0x1, %al
jne 0x3c38
jmp 0x3c52
leaq -0x218(%rbp), %rdi
leaq -0x278(%rbp), %rsi
callq 0x2210
jmp 0x3c4d
jmp 0x3df8
leaq 0x113eb(%rip), %rsi     # 0x15044
leaq -0x298(%rbp), %rdi
callq 0x6790
movb %al, -0x2f4(%rbp)
jmp 0x3c6d
movb -0x2f4(%rbp), %al
testb $0x1, %al
jne 0x3c79
jmp 0x3c93
leaq -0x258(%rbp), %rsi
leaq -0x218(%rbp), %rdi
callq 0x2120
jmp 0x3c8e
jmp 0x3df6
leaq 0x113b0(%rip), %rsi     # 0x1504a
leaq -0x298(%rbp), %rdi
callq 0x6790
movb %al, -0x2f5(%rbp)
jmp 0x3cae
movb -0x2f5(%rbp), %al
testb $0x1, %al
jne 0x3cbd
jmp 0x3df4
movl $0x0, -0x2ac(%rbp)
movl -0x2ac(%rbp), %eax
cmpl -0x258(%rbp), %eax
jge 0x3df2
leaq -0x218(%rbp), %rdi
leaq -0x2b0(%rbp), %rsi
callq 0x2120
jmp 0x3cee
movl -0x2b0(%rbp), %ecx
movl -0x2ac(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x2ac(%rbp)
leaq -0x2c8(%rbp), %rdi
callq 0x50a0
jmp 0x3d10
movl $0x0, -0x2cc(%rbp)
movl $0x1, -0x2d0(%rbp)
cmpl $0x5, -0x2cc(%rbp)
jge 0x3daa
leaq -0x218(%rbp), %rdi
leaq -0x2d4(%rbp), %rsi
callq 0x2120
jmp 0x3d42
movl -0x2d4(%rbp), %ecx
movl -0x2d0(%rbp), %eax
imull %eax, %ecx
movl -0x2cc(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x2cc(%rbp)
leaq -0x2c8(%rbp), %rdi
leaq -0x2d4(%rbp), %rsi
callq 0x6830
jmp 0x3d74
jmp 0x3d76
movl -0x2d0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2d0(%rbp)
jmp 0x3d24
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2a0(%rbp)
movl %eax, -0x2a4(%rbp)
leaq -0x2c8(%rbp), %rdi
callq 0x5fb0
jmp 0x3e63
movl -0x2b0(%rbp), %eax
movl %eax, -0x304(%rbp)
leaq -0x250(%rbp), %rdi
leaq -0x2c8(%rbp), %rsi
callq 0x5ed0
movq %rax, -0x300(%rbp)
jmp 0x3dd2
movq -0x300(%rbp), %rax
movl -0x304(%rbp), %ecx
movl %ecx, (%rax)
leaq -0x2c8(%rbp), %rdi
callq 0x5fb0
jmp 0x3cc7
jmp 0x3df4
jmp 0x3df6
jmp 0x3df8
leaq -0x298(%rbp), %rdi
movq %rdi, -0x310(%rbp)
callq 0x2220
movq -0x310(%rbp), %rsi
leaq -0x218(%rbp), %rdi
callq 0x2210
jmp 0x3e20
jmp 0x3e22
movb $0x1, %al
testb $0x1, %al
jne 0x3bd0
jmp 0x3e2e
movl $0x0, -0x2a8(%rbp)
leaq -0x298(%rbp), %rdi
callq 0x2130
leaq -0x278(%rbp), %rdi
callq 0x68a0
movl -0x2a8(%rbp), %eax
testl %eax, %eax
je 0x3e5e
jmp 0x3e5c
jmp 0x3e7d
jmp 0x3b4b
leaq -0x298(%rbp), %rdi
callq 0x2130
leaq -0x278(%rbp), %rdi
callq 0x68a0
jmp 0x3ee3
leaq -0x218(%rbp), %rdi
callq 0x2030
jmp 0x3e8b
movb $0x1, -0x219(%rbp)
movl $0x1, -0x2a8(%rbp)
testb $0x1, -0x219(%rbp)
jne 0x3ec7
jmp 0x3ebb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2a0(%rbp)
movl %eax, -0x2a4(%rbp)
jmp 0x3ee3
movq -0x2e0(%rbp), %rdi
callq 0x68d0
leaq -0x218(%rbp), %rdi
callq 0x2060
movq -0x2e8(%rbp), %rax
addq $0x310, %rsp            # imm = 0x310
popq %rbp
retq
movq -0x2e0(%rbp), %rdi
callq 0x68d0
leaq -0x218(%rbp), %rdi
callq 0x2060
movq -0x2a0(%rbp), %rdi
callq 0x22f0
nopw (%rax,%rax)