// File: agorenst[P]trie/radixtree.cpp
// Function: main
int main(int argc, char* argv[]) {
    string line;
    radixtree<int> t;
    while (cin) {
        getline(cin, line);
        istringstream int_parser(line);
        int x;
        vector<int> int_stream;
        while (!int_parser.eof()) {
            int_parser >> x;
            int_stream.push_back(x);
        }
        if (!cin.eof()) {
            t.insert(int_stream.rbegin(), int_stream.rend());
        }
    }
    cout <<
"\\documentclass{standalone}\
\\usepackage{tikz}\
\\usetikzlibrary{graphdrawing,graphdrawing.trees}\
\\begin{document}\
\\begin{tikzpicture}\\begin{scope}[tree layout]";
    t.tikz_print(cout);
cout << "\\end{scope}\
\\end{tikzpicture}\
\\end{document}";
    cout << endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x220, %rsp            # imm = 0x220
movl $0x0, -0x4(%rbp)
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x2150
leaq -0x40(%rbp), %rdi
callq 0x2590
jmp 0x235d
jmp 0x235f
movq 0x9c7a(%rip), %rdi      # 0xbfe0
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x2140
movb %al, -0x201(%rbp)
jmp 0x237d
movb -0x201(%rbp), %al
testb $0x1, %al
jne 0x238c
jmp 0x2503
movq 0x9c4d(%rip), %rdi      # 0xbfe0
leaq -0x30(%rbp), %rsi
callq 0x2040
jmp 0x239e
leaq -0x1d0(%rbp), %rdi
leaq -0x30(%rbp), %rsi
movl $0x8, %edx
callq 0x21b0
jmp 0x23b5
leaq -0x1f0(%rbp), %rdi
callq 0x25f0
movq -0x1d0(%rbp), %rax
movq -0x18(%rax), %rax
leaq -0x1d0(%rbp,%rax), %rdi
callq 0x21e0
movb %al, -0x202(%rbp)
jmp 0x23e1
movb -0x202(%rbp), %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x23ef
jmp 0x2466
leaq -0x1d0(%rbp), %rdi
leaq -0x1d4(%rbp), %rsi
callq 0x20b0
jmp 0x2404
leaq -0x1f0(%rbp), %rdi
leaq -0x1d4(%rbp), %rsi
callq 0x2610
jmp 0x2419
jmp 0x23c1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x257b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x2572
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x1f0(%rbp), %rdi
callq 0x2780
leaq -0x1d0(%rbp), %rdi
callq 0x2080
jmp 0x2572
movq 0x9b73(%rip), %rdi      # 0xbfe0
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x21e0
movb %al, -0x203(%rbp)
jmp 0x2484
movb -0x203(%rbp), %al
testb $0x1, %al
jne 0x24e6
jmp 0x2490
leaq -0x1f8(%rbp), %rdi
movq %rdi, -0x218(%rbp)
leaq -0x1f0(%rbp), %rsi
movq %rsi, -0x220(%rbp)
callq 0x26e0
movq -0x220(%rbp), %rsi
leaq -0x200(%rbp), %rdi
movq %rdi, -0x210(%rbp)
callq 0x2730
movq -0x218(%rbp), %rsi
movq -0x210(%rbp), %rdx
leaq -0x40(%rbp), %rdi
callq 0x2680
jmp 0x24e4
jmp 0x24e6
leaq -0x1f0(%rbp), %rdi
callq 0x2780
leaq -0x1d0(%rbp), %rdi
callq 0x2080
jmp 0x235f
movq 0x9ac6(%rip), %rdi      # 0xbfd0
leaq 0x4af3(%rip), %rsi      # 0x7004
callq 0x2110
jmp 0x2518
movq 0x9ab1(%rip), %rsi      # 0xbfd0
leaq -0x40(%rbp), %rdi
callq 0x27e0
jmp 0x252a
movq 0x9a9f(%rip), %rdi      # 0xbfd0
leaq 0x4b65(%rip), %rsi      # 0x709d
callq 0x2110
jmp 0x253f
movq 0x9a8a(%rip), %rdi      # 0xbfd0
movq 0x9a6b(%rip), %rsi      # 0xbfb8
callq 0x2130
jmp 0x2554
leaq -0x40(%rbp), %rdi
callq 0x2840
leaq -0x30(%rbp), %rdi
callq 0x20c0
movl -0x4(%rbp), %eax
addq $0x220, %rsp            # imm = 0x220
popq %rbp
retq
leaq -0x40(%rbp), %rdi
callq 0x2840
leaq -0x30(%rbp), %rdi
callq 0x20c0
movq -0x48(%rbp), %rdi
callq 0x21d0
nopl (%rax)