// File: /workspace/github_cpp_makefile_star2_O3/fatiiates[P]CDLL-with-cpp-make-gcc/./src/Test.cpp
// Function: readSayilar()
int readSayilar(){
  ifstream file("doc/Sayilar.txt");
  string line = "", cell = "";
  ArrayList* rows = new ArrayList();
  if ( file.is_open() ){
    for (int j = 0; getline(file, line);j++){

      stringstream row(line);
      int MAXOBEB = 0;
      rows->add(new CircularDoublyLinkedList());
      while ( getline(row, cell, ' ') ) {
      	stringstream intTicket(cell);
      	int item = 0;
      	intTicket >> item;
        try {
          unsigned char ch = (unsigned char)item;

          if(rows->elementAt(j)->Count() == 0)
            rows->elementAt(j)->add(ch);
          else{
            for (int i = 0; i != rows->elementAt(j)->Count();i++) {
              int ebob = obeb(ch, rows->elementAt(j)->elementAt(i));

              if(ebob >= MAXOBEB){
                MAXOBEB = ebob;
                int val = mod(ch, rows->elementAt(j)->elementAt(i));
                if(val == 0)
                  rows->elementAt(j)->insert(i+1, ch);
                else{
                  if(val >= i)
                    rows->elementAt(j)->insert(0, ch);
                  else
                    rows->elementAt(j)->insert(i-val+1, ch);
                }
                break;
              }else if(i == rows->elementAt(j)->Count() - 1){
                int val = mod(ch, rows->elementAt(j)->last());
                if(val == 0)
                  rows->elementAt(j)->add(ch);
                else
                  if(val >= i)
                    rows->elementAt(j)->insert(0, ch);
                  else
                    rows->elementAt(j)->insert(i-val+1, ch);
                break;
              }
            }
          }
        } catch (invalid_argument& e) {
          cerr << e.what() << " TEST "<<endl;
        } catch (length_error& e) {
          cerr << e.what() << " TEST 2"<< endl;
        } catch (...) {
          cout << "Bilinmeyen bir hata oluştu lütfen ilgili kişiye yönlendiriniz.";
        }
      }
    }
    cout << endl;
    for (int i = 0; i < rows->Count(); i++){
      cout << int(i+1) << ".Satir Sifre:"<< endl;
      cout << *rows->elementAt(i) << endl;
    }

    delete rows;
  }

  return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x578, %rsp            # imm = 0x578
leaq 0x158f(%rip), %rsi      # 0x4293
leaq -0x418(%rbp), %rdi
movl $0x8, %edx
callq 0x2260
leaq -0x58(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x15d0(%rip), %rdx      # 0x42f4
leaq -0x68(%rbp), %rdi
movq %rdx, %rsi
callq 0x3562
leaq -0x78(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x15b5(%rip), %rdx      # 0x42f4
leaq -0x88(%rbp), %rdi
movq %rdx, %rsi
callq 0x3562
movl $0x10, %edi
callq 0x2180
movq %rax, %rbx
movq %rax, %rdi
callq 0x24c2
leaq -0x3a0(%rbp), %rdi
callq 0x2060
testb %al, %al
je 0x3264
movl $0x80, %eax
leaq -0x5a0(%rbp), %rcx
addq %rax, %rcx
movq %rcx, -0x48(%rbp)
leaq -0x210(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x40(%rbp)
xorl %r15d, %r15d
movq -0x418(%rbp), %rax
movq -0x18(%rax), %rdi
leaq -0x418(%rbp), %r14
addq %r14, %rdi
movl $0xa, %esi
callq 0x2160
movsbl %al, %edx
movq %r14, %rdi
leaq -0x68(%rbp), %rsi
callq 0x2270
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x316a
leaq -0x210(%rbp), %rdi
leaq -0x68(%rbp), %rsi
movl $0x18, %edx
callq 0x21f0
movl $0x10, %edi
callq 0x2180
movq %rax, %r12
movq %rax, %rdi
callq 0x26b8
movq %rbx, %rdi
movq %r12, %rsi
callq 0x256a
movl $0x0, -0x30(%rbp)
leaq -0x210(%rbp), %rdi
leaq -0x88(%rbp), %rsi
movl $0x20, %edx
callq 0x2270
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x3146
leaq -0x5a0(%rbp), %r14
movq %r14, %rdi
leaq -0x88(%rbp), %rsi
movl $0x18, %edx
callq 0x21f0
movl $0x0, -0x34(%rbp)
movq %r14, %rdi
leaq -0x34(%rbp), %rsi
callq 0x20e0
movb -0x34(%rbp), %al
movb %al, -0x29(%rbp)
movq %rbx, %rdi
movl %r15d, %esi
callq 0x2506
movq %rax, %rdi
callq 0x26cc
testl %eax, %eax
je 0x2f3e
xorl %r12d, %r12d
movq %rbx, %rdi
movl %r15d, %esi
callq 0x2506
movq %rax, %rdi
callq 0x26cc
cmpl %eax, %r12d
je 0x3059
movb -0x29(%rbp), %r13b
movq %rbx, %rdi
movl %r15d, %esi
callq 0x2506
movq %rax, %rdi
movl %r12d, %esi
callq 0x2aa4
movzbl (%rax), %ecx
movzbl %r13b, %edx
cmpb %cl, %dl
movl %ecx, %eax
cmovbl %edx, %eax
testb %al, %al
je 0x2f13
movzbl %al, %edx
negl %edx
xorl %r14d, %r14d
movl $0x1, %esi
movzbl %r13b, %eax
divb %sil
movzbl %ah, %eax
testb %al, %al
jne 0x2f05
movzbl %cl, %eax
divb %sil
movzbl %ah, %eax
testb %al, %al
cmovel %esi, %r14d
leal (%rdx,%rsi), %eax
incl %eax
incl %esi
cmpl $0x1, %eax
jne 0x2ee8
jmp 0x2f16
xorl %r14d, %r14d
cmpl -0x30(%rbp), %r14d
jge 0x2f5a
movq %rbx, %rdi
movl %r15d, %esi
callq 0x2506
movq %rax, %rdi
callq 0x26cc
decl %eax
cmpl %eax, %r12d
je 0x2f83
incl %r12d
jmp 0x2e93
movq %rbx, %rdi
movl %r15d, %esi
callq 0x2506
movq %rax, %rdi
leaq -0x29(%rbp), %rsi
callq 0x279c
jmp 0x3059
movb -0x29(%rbp), %r13b
movq %rbx, %rdi
movl %r15d, %esi
callq 0x2506
movq %rax, %rdi
movl %r12d, %esi
callq 0x2aa4
movb (%rax), %cl
cmpb %cl, %r13b
jbe 0x2fa9
movzbl %r13b, %eax
divb %cl
jmp 0x2faf
movb -0x29(%rbp), %r14b
movq %rbx, %rdi
movl %r15d, %esi
callq 0x2506
movq %rax, %rdi
callq 0x273e
movb (%rax), %cl
cmpb %cl, %r14b
jbe 0x2fcb
movzbl %r14b, %eax
divb %cl
jmp 0x2fd1
movzbl %cl, %eax
divb %r13b
movzbl %ah, %eax
testb %al, %al
je 0x2ff0
movzbl %al, %eax
subl %eax, %r12d
jbe 0x3019
movq %rbx, %rdi
movl %r15d, %esi
callq 0x2506
jmp 0x2ffb
movzbl %cl, %eax
divb %r14b
movzbl %ah, %eax
testb %al, %al
je 0x3000
movzbl %al, %eax
subl %eax, %r12d
jbe 0x303c
movq %rbx, %rdi
movl %r15d, %esi
callq 0x2506
incl %r12d
jmp 0x304a
movq %rbx, %rdi
movl %r15d, %esi
callq 0x2506
incl %r12d
jmp 0x3027
movq %rbx, %rdi
movl %r15d, %esi
callq 0x2506
movq %rax, %rdi
leaq -0x29(%rbp), %rsi
callq 0x279c
jmp 0x3059
movq %rbx, %rdi
movl %r15d, %esi
callq 0x2506
xorl %r12d, %r12d
movq %rax, %rdi
movl %r12d, %esi
leaq -0x29(%rbp), %rdx
callq 0x27ac
movl %r14d, -0x30(%rbp)
jmp 0x3059
movq %rbx, %rdi
movl %r15d, %esi
callq 0x2506
xorl %r12d, %r12d
movq %rax, %rdi
movl %r12d, %esi
leaq -0x29(%rbp), %rdx
callq 0x27ac
leaq -0x5a0(%rbp), %rdi
movq 0x2f39(%rip), %rsi      # 0x5fa0
callq 0x2120
movq -0x48(%rbp), %rdi
callq 0x20a0
jmp 0x2e17
jmp 0x3089
movq %rdx, %r12
movl %r14d, -0x30(%rbp)
jmp 0x308c
jmp 0x3089
jmp 0x3089
movq %rdx, %r12
movq %rax, %rdi
cmpl $0x3, %r12d
jne 0x30d8
callq 0x20b0
movq (%rax), %rcx
movq %rax, %rdi
callq *0x10(%rcx)
movq 0x2f46(%rip), %rdi      # 0x5ff0
movq %rax, %rsi
callq 0x2170
movq %rax, %r12
movl $0x6, %edx
movq %rax, %rdi
leaq 0x122a(%rip), %rsi      # 0x42ee
callq 0x21a0
movq %r12, %rdi
callq 0x20c0
callq 0x2200
jmp 0x3059
callq 0x20b0
cmpl $0x2, %r12d
jne 0x3124
movq (%rax), %rcx
movq %rax, %rdi
callq *0x10(%rcx)
movq 0x2efd(%rip), %rdi      # 0x5ff0
movq %rax, %rsi
callq 0x2170
movq %rax, %r12
movl $0x7, %edx
movq %rax, %rdi
leaq 0x11d9(%rip), %rsi      # 0x42e6
callq 0x21a0
movq %r12, %rdi
callq 0x20c0
callq 0x2200
jmp 0x3059
movl $0x42, %edx
movq 0x2e90(%rip), %rdi      # 0x5fc0
leaq 0x116c(%rip), %rsi      # 0x42a3
callq 0x21a0
callq 0x2200
jmp 0x3059
leaq -0x210(%rbp), %rdi
movq 0x2e4c(%rip), %rsi      # 0x5fa0
callq 0x2120
movq -0x40(%rbp), %rdi
callq 0x20a0
incl %r15d
jmp 0x2d9b
movq 0x2e4f(%rip), %rdi      # 0x5fc0
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0xa, %esi
callq 0x2160
movsbl %al, %esi
movq 0x2e34(%rip), %rdi      # 0x5fc0
callq 0x2040
movq %rax, %rdi
callq 0x20f0
xorl %r14d, %r14d
movq 0x2e1d(%rip), %r15      # 0x5fc0
leaq 0x114b(%rip), %r12      # 0x42f5
movq %rbx, %rdi
callq 0x24ee
cmpl %eax, %r14d
jge 0x324f
incl %r14d
movq %r15, %rdi
movl %r14d, %esi
callq 0x2230
movq %rax, %r13
movl $0xd, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x21a0
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x2160
movsbl %al, %esi
movq %r13, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x20f0
decl %r14d
movq %rbx, %rdi
movl %r14d, %esi
callq 0x2506
movq %r15, %rdi
movq %rax, %rsi
callq 0x2afc
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x2160
movsbl %al, %esi
movq %r13, %rdi
callq 0x2040
incl %r14d
movq %rax, %rdi
callq 0x20f0
jmp 0x31aa
movq %rbx, %rdi
callq 0x2628
movl $0x10, %esi
movq %rbx, %rdi
callq 0x2190
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x3280
movq -0x78(%rbp), %rsi
incq %rsi
callq 0x2190
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x3299
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x2190
leaq -0x418(%rbp), %rdi
callq 0x2070
xorl %eax, %eax
addq $0x578, %rsp            # imm = 0x578
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
callq 0x2200
jmp 0x3327
jmp 0x3324
movq %rax, %r14
callq 0x2200
jmp 0x3327
jmp 0x3324
movq %rax, %r14
callq 0x2200
jmp 0x3327
movq %rax, %rdi
callq 0x2ccc
movq %rax, %r14
movl $0x10, %esi
movq %rbx, %rdi
callq 0x2190
jmp 0x3366
movq %rax, %r14
jmp 0x3382
movq %rax, %r14
jmp 0x339b
jmp 0x331f
movq %rax, %r14
movl $0x10, %esi
movq %r12, %rdi
callq 0x2190
jmp 0x334a
jmp 0x331f
jmp 0x3347
jmp 0x331f
movq %rax, %r14
jmp 0x3366
movq %rax, %r14
movq 0x2c72(%rip), %rsi      # 0x5fa0
leaq -0x5a0(%rbp), %rdi
callq 0x2120
movq -0x48(%rbp), %rdi
callq 0x20a0
jmp 0x334a
jmp 0x3347
movq %rax, %r14
movq 0x2c4f(%rip), %rsi      # 0x5fa0
leaq -0x210(%rbp), %rdi
callq 0x2120
movq -0x40(%rbp), %rdi
callq 0x20a0
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x3382
movq -0x78(%rbp), %rsi
incq %rsi
callq 0x2190
leaq -0x58(%rbp), %rax
movq -0x68(%rbp), %rdi
cmpq %rax, %rdi
je 0x339b
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x2190
leaq -0x418(%rbp), %rdi
callq 0x2070
movq %r14, %rdi
callq 0x2240