#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */
typedef int /*<<< orphan*/ FILE;

/* Variables and functions */
int /*<<< orphan*/ SEEK_SET;
int /*<<< orphan*/ fclose(int /*<<< orphan*/ *);
int /*<<< orphan*/ *fgets(char *, int, int /*<<< orphan*/ *);
int /*<<< orphan*/ *fopen(char *, char *);
int /*<<< orphan*/ fprintf(int /*<<< orphan*/ *, char *, ...);
int /*<<< orphan*/ fseek(int /*<<< orphan*/ *, int /*<<< orphan*/,
                         int /*<<< orphan*/);
int /*<<< orphan*/ getchar();
int /*<<< orphan*/ printf(char *, ...);
int /*<<< orphan*/ scanf(char *, int *);
int /*<<< orphan*/ *stdin;
int main() {
  FILE *license = NULL;
  license = fopen("license.txt", "w+");
  int menu = 0, date = 0, choice = 0;
  char name[1000];
  if (license == NULL) {
    printf("Cannot open License.txt");
    return 0;
  }
  printf("\n            License Generator         \n");
  printf("\n ================= MENU ================\n");
  printf(" | 1) GNU Affero General Public License|\n");
  printf(" | 2) Apache License 2.0               |\n");
  printf(" | 3) BSD 2-Clause License             |\n");
  printf(" | 4) BSD 3-Clause License             |\n");
  printf(" | 5) Creative Commons Zero v1.0       |\n");
  printf(" | 6) GNU General Public License v2.0  |\n");
  printf(" | 7) GNU General Public License v3.0  |\n");
  printf(" | 8) MIT License                      |\n");
  printf(" | 9) Mozilla Public License           |\n");
  printf(" | 10) GNU Lesser GPL v2.1             |\n");
  printf(" | 11) GNU Lesser GPL v3.0             |\n");
  printf(" | 12) The Unlicense                   |\n");
  printf(" | 13) What The Fuck You Want License  |\n");
  printf(" =======================================\n");
  do {
    scanf("%d", &menu);
  } while ((menu < 0) || (menu > 90));
  if ((menu != 5) && (menu != 9) && (menu != 12) && (menu != 13)) {
    printf("Enter the year.\n");
    scanf("%d", &date);
    printf("Enter the name(s) of the author(s).\n");
    getchar();
    fgets(name, 1000, stdin);
  }
  printf("\n");
  switch (menu) {
  case 1: {
    fprintf(license, "Copyright (C) %d %s\n", date, name);
    fprintf(license, "This program is free software: you can redistribute it "
                     "and/or modify\n");
    fprintf(license,
            "it under the terms of the GNU Affero General Public License as\n");
    fprintf(
        license,
        "published by the Free Software Foundation, either version 3 of the\n");
    fprintf(license, "License, or (at your option) any later version.\n\n");
    fprintf(
        license,
        "This program is distributed in the hope that it will be useful,\n");
    fprintf(license,
            "but WITHOUT ANY WARRANTY; without even the implied warranty of\n");
    fprintf(license,
            "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n");
    fprintf(license, "GNU Affero General Public License for more details.\n\n");
    fprintf(license, "You should have received a copy of the GNU Affero "
                     "General Public License\n");
    fprintf(license, "along with this program.  If not, see "
                     "<http://www.gnu.org/licenses/>.");
    break;
  }
  case 2: {
    fprintf(license, "Copyright %d %s\n", date, name);
    fprintf(
        license,
        "Licensed under the Apache License, Version 2.0 (the \"License\");\n");
    fprintf(
        license,
        "you may not use this file except in compliance with the License.\n");
    fprintf(license, "You may obtain a copy of the License at\n\n");
    fprintf(license, "    http://www.apache.org/licenses/LICENSE-2.0\n\n");
    fprintf(license, "Unless required by applicable law or agreed to in "
                     "writing, software\n");
    fprintf(license, "distributed under the License is distributed on an \"AS "
                     "IS\" BASIS,\n");
    fprintf(license, "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either "
                     "express or implied.\n");
    fprintf(license, "See the License for the specific language governing "
                     "permissions and\n");
    fprintf(license, "limitations under the License.");
    break;
  }
  case 3: {
    fprintf(license, "Copyright (c) %d %s", date, name);
    fprintf(license, "All rights reserved.\n\n");
    fprintf(license, "Redistribution and use in source and binary forms, with "
                     "or without modification, are permitted\n");
    fprintf(license, "provided that the following conditions are met:\n\n");
    fprintf(license, "1. Redistributions of source code must retain the above "
                     "copyright notice, this list of conditions\n");
    fprintf(license, "and the following disclaimer.\n\n");
    fprintf(license, "2. Redistributions in binary form must reproduce the "
                     "above copyright notice, this list of conditions\n");
    fprintf(license, "and the following disclaimer in the documentation and/or "
                     "other materials provided with the\n");
    fprintf(license, "distribution.\n\n");
    fprintf(license, "THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND "
                     "CONTRIBUTORS \"AS IS\" AND\n");
    fprintf(license, "ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT "
                     "LIMITED TO, THE IMPLIED\n");
    fprintf(license, "WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A "
                     "PARTICULAR PURPOSE ARE DISCLAIMED.\n");
    fprintf(license, "IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS "
                     "BE LIABLE FOR ANY DIRECT,\n");
    fprintf(license, "INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR "
                     "CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n");
    fprintf(license, "NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR "
                     "SERVICES; LOSS OF USE, DATA, OR\n");
    fprintf(license, "PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON "
                     "ANY THEORY OF LIABILITY,\n");
    fprintf(license, "WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT "
                     "(INCLUDING NEGLIGENCE OR OTHERWISE)\n");
    fprintf(license, "ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN "
                     "IF ADVISED OF THE POSSIBILITY\n");
    fprintf(license, "OF SUCH DAMAGE.");
    break;
  }
  case 4: {
    fprintf(license, "Copyright (c) %d %s", date, name);
    fprintf(license, "All rights reserved.\n\n");
    fprintf(license, "Redistribution and use in source and binary forms, with "
                     "or without modification, are permitted\n");
    fprintf(license, "provided that the following conditions are met:\n\n");
    fprintf(license, "1. Redistributions of source code must retain the above "
                     "copyright notice, this list of conditions\n");
    fprintf(license, "and the following disclaimer.\n\n");
    fprintf(license, "2. Redistributions in binary form must reproduce the "
                     "above copyright notice, this list of conditions\n");
    fprintf(license, "and the following disclaimer in the documentation and/or "
                     "other materials provided with the\n");
    fprintf(license, "distribution.\n\n");
    fprintf(license, "3. Neither the name of the copyright holder nor the "
                     "names of its contributors may be used to\n");
    fprintf(license, "endorse or promote products derived from this software "
                     "without specific prior written\n");
    fprintf(license, "permission.\n\n");
    fprintf(license, "THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND "
                     "CONTRIBUTORS \"AS IS\" AND\n");
    fprintf(license, "ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT "
                     "LIMITED TO, THE IMPLIED\n");
    fprintf(license, "WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A "
                     "PARTICULAR PURPOSE ARE DISCLAIMED.\n");
    fprintf(license, "IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS "
                     "BE LIABLE FOR ANY DIRECT,\n");
    fprintf(license, "INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR "
                     "CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n");
    fprintf(license, "NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR "
                     "SERVICES; LOSS OF USE, DATA, OR\n");
    fprintf(license, "PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON "
                     "ANY THEORY OF LIABILITY,\n");
    fprintf(license, "WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT "
                     "(INCLUDING NEGLIGENCE OR OTHERWISE)\n");
    fprintf(license, "ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN "
                     "IF ADVISED OF THE POSSIBILITY\n");
    fprintf(license, "OF SUCH DAMAGE.");
    break;
  }
  case 5: {
    fprintf(license, "The person who associated a work with this deed has "
                     "dedicated the work to\n");
    fprintf(license, "the public domain by waiving all of his or her rights to "
                     "the work worldwide under\n");
    fprintf(license, "copyright law, including all related and neighboring "
                     "rights, to the extent allowed\n");
    fprintf(license, "by law.\n\n");
    fprintf(license, "You can copy, modify, distribute and perform the work, "
                     "even for commercial\n");
    fprintf(license, "purposes, all without asking permission. See Other "
                     "Information below.\n\n");
    fprintf(license, "Other Information\n\n");
    fprintf(license, "In no way are the patent or trademark rights of any "
                     "person affected by CC0, nor are the\n");
    fprintf(license, "rights that other persons may have in the work or in how "
                     "the work is used, such as\n\n");
    fprintf(license, "publicity or privacy rights.\n\n");
    fprintf(license, "Unless expressly stated otherwise, the person who "
                     "associated a work with this deed\n");
    fprintf(license, "makes no warranties about the work, and disclaims "
                     "liability for all uses of the work, to\n");
    fprintf(license, "the fullest extent permitted by applicable law.\n\n");
    fprintf(license, "When using or citing the work, you should not imply "
                     "endorsement by the author or\n");
    fprintf(license, "the affirmer.");
    break;
  }
  case 6: {
    fprintf(license, "Copyright (C) %d %s\n", date, name);
    fprintf(license,
            "This program is free software: you can redistribute it and/or\n");
    fprintf(license,
            "modify it under the terms of the GNU General Public License\n");
    fprintf(license,
            "as published by the Free Software Foundation; either version 2\n");
    fprintf(license,
            "of the License, or (at your option) any later version.\n\n");
    fprintf(
        license,
        "This program is distributed in the hope that it will be useful,\n");
    fprintf(license,
            "but WITHOUT ANY WARRANTY; without even the implied warranty of\n");
    fprintf(license,
            "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n");
    fprintf(license, "GNU General Public License for more details.\n\n");
    fprintf(
        license,
        "You should have received a copy of the GNU General Public License\n");
    fprintf(license,
            "along with this program; if not, write to the Free Software");
    fprintf(license, "Foundation, Inc., 51 Franklin Street, Fifth Floor, "
                     "Boston, MA  02110-1301, USA.");
    break;
  }
  case 7: {
    fprintf(license, "Copyright (C) %d %s\n", date, name);
    fprintf(license, "This program is free software: you can redistribute it "
                     "and/or modify\n");
    fprintf(license, "it under the terms of the GNU General Public License as "
                     "published by\n");
    fprintf(
        license,
        "the Free Software Foundation, either version 3 of the License, or\n");
    fprintf(license, "(at your option) any later version.\n\n");
    fprintf(
        license,
        "This program is distributed in the hope that it will be useful,\n");
    fprintf(license,
            "but WITHOUT ANY WARRANTY; without even the implied warranty of\n");
    fprintf(license,
            "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n");
    fprintf(license, "GNU General Public License for more details.\n\n");
    fprintf(
        license,
        "You should have received a copy of the GNU General Public License\n");
    fprintf(license, "along with this program.  If not, see "
                     "<http://www.gnu.org/licenses/>.");
    break;
  }
  case 8: {
    fprintf(license, "Copyright (C) %d %s\n", date, name);
    fprintf(license, "Permission is hereby granted, free of charge, to any "
                     "person obtaining a copy of this software and\n");
    fprintf(license, "associated documentation files (the \"Software\"), to "
                     "deal in the Software without restriction,\n");
    fprintf(license, "including without limitation the rights to use, copy, "
                     "modify, merge, publish, distribute, sublicense,\n");
    fprintf(license, "and/or sell copies of the Software, and to permit "
                     "persons to whom the Software is furnished to do\n");
    fprintf(license, "so, subject to the following conditions:\n\n");
    fprintf(license, "The above copyright notice and this permission notice "
                     "shall be included in all copies or\n");
    fprintf(license, "substantial portions of the Software.\n\n");
    fprintf(license, "THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF "
                     "ANY KIND, EXPRESS OR IMPLIED,\n");
    fprintf(license, "INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF "
                     "MERCHANTABILITY, FITNESS FOR A\n");
    fprintf(license, "PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT "
                     "SHALL THE AUTHORS OR\n");
    fprintf(license, "COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR "
                     "OTHER LIABILITY, WHETHER IN\n");
    fprintf(license, "AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, "
                     "OUT OF OR IN CONNECTION\n");
    fprintf(license,
            "WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.");
    break;
  }
  case 9: {
    fprintf(license, "This Source Code Form is subject to the\n");
    fprintf(license, "terms of the Mozilla Public License, v.\n");
    fprintf(license, "2.0. If a copy of the MPL was not\n");
    fprintf(license, "distributed with this file, You can obtain\n");
    fprintf(license, "one at https://mozilla.org/MPL/2.0/.\n");
    printf("Would you like to add Exibhit B? :\n");
    printf("This Source Code Form is \"Incompatible\n");
    printf("With Secondary Licenses\", as defined by\n");
    printf("the Mozilla Public License, v. 2.0.\n");
    printf("1) Yes\n");
    printf("2) No\n\n\n");
    do {
      scanf("%d", &choice);
    } while ((choice < 1) || (choice > 2));
    if (choice == 1) {
      fprintf(license, "\nThis Source Code Form is Incompatible\n");
      fprintf(license, "With Secondary Licenses, as defined by\n");
      fprintf(license, "the Mozilla Public License, v. 2.0.");
    }
    break;
  }
  case 10: {
    fprintf(license, "Copyright (C) %d %s\n", date, name);
    fprintf(license,
            "This library is free software; you can redistribute it and/or\n");
    fprintf(license,
            "modify it under the terms of the GNU Lesser General Public\n");
    fprintf(license,
            "License as published by the Free Software Foundation; either\n");
    fprintf(license, "version 2.1 of the License, or (at your option) any "
                     "later version.\n\n");
    fprintf(
        license,
        "This library is distributed in the hope that it will be useful,\n");
    fprintf(license,
            "but WITHOUT ANY WARRANTY; without even the implied warranty of\n");
    fprintf(
        license,
        "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n");
    fprintf(license, "Lesser General Public License for more details.\n\n");
    fprintf(
        license,
        "You should have received a copy of the GNU Lesser General Public\n");
    fprintf(license, "License along with this library; if not, write to the "
                     "Free Software\n");
    fprintf(license, "Foundation, Inc., 51 Franklin Street, Fifth Floor, "
                     "Boston, MA  02110-1301  USA");
    break;
  }
  case 11: {
    fprintf(license, "Copyright (C) %d %s\n\n", date, name);
    fprintf(license, "This program is free software: you can redistribute it "
                     "and/or modify\n");
    fprintf(license, "it under the terms of the GNU Lesser General Public "
                     "License as published by\n");
    fprintf(
        license,
        "the Free Software Foundation, either version 3 of the License, or\n");
    fprintf(license, "(at your option) any later version.\n\n");
    fprintf(
        license,
        "This program is distributed in the hope that it will be useful,\n");
    fprintf(license,
            "but WITHOUT ANY WARRANTY; without even the implied warranty of\n");
    fprintf(license,
            "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n");
    fprintf(license, "GNU Lesser General Public License for more details.\n\n");
    fprintf(license, "You should have received a copy of the GNU Lesser "
                     "General Public License\n");
    fprintf(license, "along with this program.  If not, see "
                     "<http://www.gnu.org/licenses/>.");
    break;
  }
  case 12: {
    fprintf(license, "This is free and unencumbered software released into the "
                     "public domain.\n\n");
    fprintf(
        license,
        "Anyone is free to copy, modify, publish, use, compile, sell, or\n");
    fprintf(license, "distribute this software, either in source code form or "
                     "as a compiled\n");
    fprintf(
        license,
        "binary, for any purpose, commercial or non-commercial, and by any\n");
    fprintf(license, "means.\n\n");
    fprintf(license, "In jurisdictions that recognize copyright laws, the "
                     "author or authors\n");
    fprintf(
        license,
        "of this software dedicate any and all copyright interest in the\n");
    fprintf(license, "software to the public domain. We make this dedication "
                     "for the benefit\n");
    fprintf(license,
            "of the public at large and to the detriment of our heirs and\n");
    fprintf(license,
            "successors. We intend this dedication to be an overt act of\n");
    fprintf(license, "relinquishment in perpetuity of all present and future "
                     "rights to this\n");
    fprintf(license, "software under copyright law.\n\n");
    fprintf(
        license,
        "THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n");
    fprintf(
        license,
        "EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n");
    fprintf(license, "MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND "
                     "NONINFRINGEMENT.\n");
    fprintf(
        license,
        "IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR\n");
    fprintf(license, "OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT "
                     "OR OTHERWISE,\n");
    fprintf(license, "ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE "
                     "OR THE USE OR\n");
    fprintf(license, "OTHER DEALINGS IN THE SOFTWARE.\n\n");
    fprintf(license,
            "For more information, please refer to <http://unlicense.org/>");
    break;
  }
  case 13: {
    fprintf(license,
            "            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE\n");
    fprintf(license, "   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND "
                     "MODIFICATION\n\n");
    fprintf(license, "  0. You just DO WHAT THE FUCK YOU WANT TO.");
    break;
  }
  }
  fseek(license, 0, SEEK_SET);
  while (fgets(name, 1000, license) != NULL)
    printf("%s", name);
  printf("\n\nLicense.txt successfully generated.\n");
  printf("The program will now exit.");
  fclose(license);
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x430,%rsp
movl   $0x0,-0x4(%rbp)
movq   $0x0,-0x10(%rbp)
lea    0x1e93(%rip),%rdi
lea    0x1e98(%rip),%rsi
call   10a0 <fopen@plt>
mov    %rax,-0x10(%rbp)
movl   $0x0,-0x14(%rbp)
movl   $0x0,-0x18(%rbp)
movl   $0x0,-0x1c(%rbp)
cmpq   $0x0,-0x10(%rbp)
jne    11eb <main+0x6b>
lea    0x1e6b(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
movl   $0x0,-0x4(%rbp)
jmp    2135 <main+0xfb5>
lea    0x1e69(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    0x1e84(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    0x1ea1(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    0x1ebd(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    0x1ed9(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    0x1ef5(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    0x1f11(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    0x1f2d(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    0x1f49(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    0x1f65(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    0x1f81(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    0x1f9d(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    0x1fb9(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    0x1fd5(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    0x1ff1(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    0x200d(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    0x2029(%rip),%rdi
lea    -0x14(%rbp),%rsi
call   1090 <scanf@plt>
mov    $0x1,%al
cmpl   $0x0,-0x14(%rbp)
mov    %al,-0x411(%rbp)
jl     12fa <main+0x17a>
cmpl   $0x5a,-0x14(%rbp)
setg   %al
mov    %al,-0x411(%rbp)
mov    -0x411(%rbp),%al
test   $0x1,%al
jne    12cb <main+0x14b>
cmpl   $0x5,-0x14(%rbp)
je     137e <main+0x1fe>
cmpl   $0x9,-0x14(%rbp)
je     137e <main+0x1fe>
cmpl   $0xc,-0x14(%rbp)
je     137e <main+0x1fe>
cmpl   $0xd,-0x14(%rbp)
je     137e <main+0x1fe>
lea    0x1fc7(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    0x1fb6(%rip),%rdi
lea    -0x18(%rbp),%rsi
call   1090 <scanf@plt>
lea    0x1fba(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
mov    $0x0,%al
call   1060 <getchar@plt>
lea    -0x410(%rbp),%rdi
mov    0x5c77(%rip),%rax
mov    (%rax),%rdx
mov    $0x3e8,%esi
call   1050 <fgets@plt>
lea    0x357a(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    -0x14(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,%ecx
mov    %rcx,-0x420(%rbp)
sub    $0xc,%eax
ja     20bc <main+0xf3c>
mov    -0x420(%rbp),%rax
lea    0x1c4e(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
mov    -0x10(%rbp),%rdi
mov    -0x18(%rbp),%edx
lea    -0x410(%rbp),%rcx
lea    0x1f64(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x1f67(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x1f9b(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x1fc9(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x3629(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x1fe9(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2018(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2046(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2073(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2097(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x20cf(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
jmp    20bc <main+0xf3c>
mov    -0x10(%rbp),%rdi
mov    -0x18(%rbp),%edx
lea    -0x410(%rbp),%rcx
lea    0x20f4(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x20f3(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2122(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2152(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x216a(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2189(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x21bc(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x21ed(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2225(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2258(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
jmp    20bc <main+0xf3c>
mov    -0x10(%rbp),%rdi
mov    -0x18(%rbp),%edx
lea    -0x410(%rbp),%rcx
lea    0x2256(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2258(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x225d(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x22ab(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x22cb(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x231c(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x232a(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x237e(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x23c8(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x23c6(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2405(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2442(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2484(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x24c4(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2506(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2548(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2589(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x25cb(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2611(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
jmp    20bc <main+0xf3c>
mov    -0x10(%rbp),%rdi
mov    -0x18(%rbp),%edx
lea    -0x410(%rbp),%rcx
lea    0x20f1(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x20f3(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x20f8(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2146(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2166(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x21b7(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x21c5(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2219(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2263(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x255e(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x25aa(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x25ef(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x222b(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x226a(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x22a7(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x22e9(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2329(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x236b(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x23ad(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x23ee(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2430(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2476(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
jmp    20bc <main+0xf3c>
mov    -0x10(%rbp),%rdi
lea    0x2532(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x256b(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x25ac(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x25ee(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x25e6(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2620(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2656(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2658(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x269f(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x26e2(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x26ef(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2731(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2779(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2799(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x27d9(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
jmp    20bc <main+0xf3c>
mov    -0x10(%rbp),%rdi
mov    -0x18(%rbp),%edx
lea    -0x410(%rbp),%rcx
lea    0x19b9(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x27b4(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x27e1(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x280c(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x3077(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x1a3e(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x1a6d(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x1a9b(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x27f2(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x280f(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2840(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x286a(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
jmp    20bc <main+0xf3c>
mov    -0x10(%rbp),%rdi
mov    -0x18(%rbp),%edx
lea    -0x410(%rbp),%rcx
lea    0x18d2(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x18d5(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2875(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x28a9(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2fa3(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x1957(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x1986(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x19b4(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x270b(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2728(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x1a3d(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
jmp    20bc <main+0xf3c>
mov    -0x10(%rbp),%rdi
mov    -0x18(%rbp),%edx
lea    -0x410(%rbp),%rcx
lea    0x17fd(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x283b(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x288c(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x28d9(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x292e(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x297f(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2998(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x29e0(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x29f6(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2a39(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2a76(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2aae(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2aef(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2b2e(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
jmp    20bc <main+0xf3c>
mov    -0x10(%rbp),%rdi
lea    0x2b57(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2b6e(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2b85(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2b96(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2bb0(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
lea    0x2bc8(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    0x2bde(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    0x2bf8(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    0x2c13(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    0x2c2a(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    0x2c24(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    0x1619(%rip),%rdi
lea    -0x1c(%rbp),%rsi
call   1090 <scanf@plt>
mov    $0x1,%al
cmpl   $0x1,-0x1c(%rbp)
mov    %al,-0x421(%rbp)
jl     1d0a <main+0xb8a>
cmpl   $0x2,-0x1c(%rbp)
setg   %al
mov    %al,-0x421(%rbp)
mov    -0x421(%rbp),%al
test   $0x1,%al
jne    1cdb <main+0xb5b>
cmpl   $0x1,-0x1c(%rbp)
jne    1d58 <main+0xbd8>
mov    -0x10(%rbp),%rdi
lea    0x2bd4(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2bea(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2c00(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
jmp    20bc <main+0xf3c>
mov    -0x10(%rbp),%rdi
mov    -0x18(%rbp),%edx
lea    -0x410(%rbp),%rcx
lea    0x15c2(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2bf1(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2c1e(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2c48(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2c74(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2ca7(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x1676(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2cc4(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2e32(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2ce3(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2d13(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2d46(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
jmp    20bc <main+0xf3c>
mov    -0x10(%rbp),%rdi
mov    -0x18(%rbp),%edx
lea    -0x410(%rbp),%rcx
lea    0x2d74(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x14de(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2d66(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x24b2(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2bac(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x1560(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x158f(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x15bd(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2d47(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2d6b(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x1646(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
jmp    20bc <main+0xf3c>
mov    -0x10(%rbp),%rdi
lea    0x2d8c(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2dc4(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2df3(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2e28(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2e59(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2e50(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2e85(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2eb4(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2eea(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2f16(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2f41(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2f76(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2f84(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2fb3(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x2fe5(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x301b(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x304c(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x3081(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x30b6(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x30c6(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
jmp    20bc <main+0xf3c>
mov    -0x10(%rbp),%rdi
lea    0x30ed(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x3114(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
lea    0x3147(%rip),%rsi
mov    $0x0,%al
call   1070 <fprintf@plt>
mov    -0x10(%rbp),%rdi
mov    0x4f11(%rip),%rax
mov    (%rax),%edx
xor    %esi,%esi
call   1080 <fseek@plt>
lea    -0x410(%rbp),%rdi
mov    -0x10(%rbp),%rdx
mov    $0x3e8,%esi
call   1050 <fgets@plt>
cmp    $0x0,%rax
je     2109 <main+0xf89>
lea    -0x410(%rbp),%rsi
lea    0x16d2(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
jmp    20d0 <main+0xf50>
lea    0x3118(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    0x3131(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
mov    -0x10(%rbp),%rdi
call   1030 <fclose@plt>
movl   $0x0,-0x4(%rbp)
mov    -0x4(%rbp),%eax
add    $0x430,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %r15
push   %r14
push   %rbx
sub    $0x400,%rsp
lea    0x1e71(%rip),%rdi
lea    0x1e76(%rip),%rsi
call   10c0 <fopen@plt>
movl   $0x0,0x8(%rsp)
movl   $0x0,0x4(%rsp)
movl   $0x0,0xc(%rsp)
test   %rax,%rax
je     1444 <main+0x294>
mov    %rax,%r14
lea    0x3ca4(%rip),%rdi
call   1040 <puts@plt>
lea    0x3cc0(%rip),%rdi
call   1040 <puts@plt>
lea    0x3cde(%rip),%rdi
call   1040 <puts@plt>
lea    0x3cfb(%rip),%rdi
call   1040 <puts@plt>
lea    0x3d18(%rip),%rdi
call   1040 <puts@plt>
lea    0x3d35(%rip),%rdi
call   1040 <puts@plt>
lea    0x3d52(%rip),%rdi
call   1040 <puts@plt>
lea    0x3d6f(%rip),%rdi
call   1040 <puts@plt>
lea    0x3d8c(%rip),%rdi
call   1040 <puts@plt>
lea    0x3da9(%rip),%rdi
call   1040 <puts@plt>
lea    0x3dc6(%rip),%rdi
call   1040 <puts@plt>
lea    0x3de3(%rip),%rdi
call   1040 <puts@plt>
lea    0x3e00(%rip),%rdi
call   1040 <puts@plt>
lea    0x3e1d(%rip),%rdi
call   1040 <puts@plt>
lea    0x3e3a(%rip),%rdi
call   1040 <puts@plt>
lea    0x3e57(%rip),%rdi
call   1040 <puts@plt>
lea    0x1da1(%rip),%r15
lea    0x8(%rsp),%rbx
nop
mov    %r15,%rdi
mov    %rbx,%rsi
call   10b0 <scanf@plt>
mov    0x8(%rsp),%eax
cmp    $0x5a,%eax
ja     12c0 <main+0x110>
cmp    $0xd,%eax
ja     12e3 <main+0x133>
mov    $0x3220,%ecx
bt     %eax,%ecx
jb     132c <main+0x17c>
lea    0x3f0f(%rip),%rdi
call   1040 <puts@plt>
lea    0x1d65(%rip),%rdi
lea    0x4(%rsp),%rsi
call   10b0 <scanf@plt>
lea    0x3f02(%rip),%rdi
call   1040 <puts@plt>
xor    %eax,%eax
call   1080 <getchar@plt>
mov    0x5cce(%rip),%rax
mov    (%rax),%rdx
lea    0x10(%rsp),%rdi
mov    $0x3e8,%esi
call   1070 <fgets@plt>
mov    $0xa,%edi
call   1030 <putchar@plt>
mov    0x8(%rsp),%eax
add    $0xffffffff,%eax
cmp    $0xc,%eax
ja     22c8 <main+0x1118>
lea    0x1cb3(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
mov    0x4(%rsp),%edx
lea    0x1cfd(%rip),%rsi
lea    0x10(%rsp),%rcx
mov    %r14,%rdi
xor    %eax,%eax
call   1090 <fprintf@plt>
lea    0x1cfc(%rip),%rdi
mov    $0x45,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x1d29(%rip),%rdi
mov    $0x3f,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x1d50(%rip),%rdi
mov    $0x43,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x32da(%rip),%rdi
mov    $0x31,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x1d62(%rip),%rdi
mov    $0x40,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x1d8a(%rip),%rdi
mov    $0x3f,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x1db1(%rip),%rdi
mov    $0x3e,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x1dd7(%rip),%rdi
mov    $0x35,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x1df4(%rip),%rdi
jmp    2071 <main+0xec1>
lea    0x1bf8(%rip),%rdi
xor    %eax,%eax
call   1060 <printf@plt>
jmp    2344 <main+0x1194>
mov    0x4(%rsp),%edx
lea    0x1e61(%rip),%rsi
lea    0x10(%rsp),%rcx
mov    %r14,%rdi
xor    %eax,%eax
call   1090 <fprintf@plt>
lea    0x1e5c(%rip),%rdi
mov    $0x40,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x1e84(%rip),%rdi
mov    $0x41,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x1ead(%rip),%rdi
mov    $0x29,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x1ebe(%rip),%rdi
mov    $0x30,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x1ed6(%rip),%rdi
mov    $0x44,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x1f02(%rip),%rdi
mov    $0x42,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x1f2c(%rip),%rdi
mov    $0x49,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x1f5d(%rip),%rdi
mov    $0x44,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x1f89(%rip),%rdi
mov    $0x1e,%esi
jmp    22bb <main+0x110b>
mov    0x4(%rsp),%edx
lea    0x1f93(%rip),%rsi
lea    0x10(%rsp),%rcx
mov    %r14,%rdi
xor    %eax,%eax
call   1090 <fprintf@plt>
lea    0x1f91(%rip),%rdi
mov    $0x16,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x1f8f(%rip),%rdi
mov    $0x5f,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x1fd6(%rip),%rdi
mov    $0x31,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x1fef(%rip),%rdi
mov    $0x62,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2039(%rip),%rdi
mov    $0x1f,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2040(%rip),%rdi
mov    $0x65,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x208d(%rip),%rdi
mov    $0x5b,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x20d0(%rip),%rdi
mov    $0xf,%esi
jmp    1744 <main+0x594>
mov    0x4(%rsp),%edx
lea    0x1eb9(%rip),%rsi
lea    0x10(%rsp),%rcx
mov    %r14,%rdi
xor    %eax,%eax
call   1090 <fprintf@plt>
lea    0x1eb7(%rip),%rdi
mov    $0x16,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x1eb5(%rip),%rdi
mov    $0x5f,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x1efc(%rip),%rdi
mov    $0x31,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x1f15(%rip),%rdi
mov    $0x62,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x1f5f(%rip),%rdi
mov    $0x1f,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x1f66(%rip),%rdi
mov    $0x65,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x1fb3(%rip),%rdi
mov    $0x5b,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x1ff6(%rip),%rdi
mov    $0xf,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x22ea(%rip),%rdi
mov    $0x5d,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x232f(%rip),%rdi
mov    $0x56,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x236d(%rip),%rdi
mov    $0xd,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x1fa2(%rip),%rdi
mov    $0x50,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x1fda(%rip),%rdi
mov    $0x4e,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2010(%rip),%rdi
mov    $0x53,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x204b(%rip),%rdi
mov    $0x51,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2084(%rip),%rdi
mov    $0x53,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x20bf(%rip),%rdi
mov    $0x53,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x20fa(%rip),%rdi
mov    $0x52,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2134(%rip),%rdi
mov    $0x53,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x216f(%rip),%rdi
mov    $0x57,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x21ae(%rip),%rdi
mov    $0xf,%esi
jmp    22bb <main+0x110b>
lea    0x2270(%rip),%rdi
mov    $0x4a,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x22a2(%rip),%rdi
mov    $0x52,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x22dc(%rip),%rdi
mov    $0x53,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2317(%rip),%rdi
mov    $0x9,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2308(%rip),%rdi
mov    $0x4b,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x233b(%rip),%rdi
mov    $0x47,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x236a(%rip),%rdi
mov    $0x13,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2365(%rip),%rdi
mov    $0x58,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x23a5(%rip),%rdi
mov    $0x54,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x23e1(%rip),%rdi
mov    $0x1e,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x23e7(%rip),%rdi
mov    $0x53,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2422(%rip),%rdi
mov    $0x59,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2463(%rip),%rdi
mov    $0x31,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x247c(%rip),%rdi
mov    $0x51,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x24b5(%rip),%rdi
mov    $0xd,%esi
jmp    22bb <main+0x110b>
mov    0x4(%rsp),%edx
lea    0x16a1(%rip),%rsi
lea    0x10(%rsp),%rcx
mov    %r14,%rdi
xor    %eax,%eax
call   1090 <fprintf@plt>
lea    0x2498(%rip),%rdi
mov    $0x3e,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x24be(%rip),%rdi
mov    $0x3c,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x24e2(%rip),%rdi
mov    $0x3f,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2c77(%rip),%rdi
mov    $0x38,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x1706(%rip),%rdi
mov    $0x40,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x172e(%rip),%rdi
mov    $0x3f,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x1755(%rip),%rdi
mov    $0x3e,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x24a5(%rip),%rdi
mov    $0x2e,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x24bb(%rip),%rdi
mov    $0x42,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x24e5(%rip),%rdi
mov    $0x3b,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2508(%rip),%rdi
mov    $0x4f,%esi
jmp    22bb <main+0x110b>
mov    0x4(%rsp),%edx
lea    0x157c(%rip),%rsi
lea    0x10(%rsp),%rcx
mov    %r14,%rdi
xor    %eax,%eax
call   1090 <fprintf@plt>
lea    0x157b(%rip),%rdi
mov    $0x45,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2514(%rip),%rdi
mov    $0x45,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2541(%rip),%rdi
mov    $0x42,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2b65(%rip),%rdi
mov    $0x25,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x15e1(%rip),%rdi
mov    $0x40,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x1609(%rip),%rdi
mov    $0x3f,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x1630(%rip),%rdi
mov    $0x3e,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2380(%rip),%rdi
mov    $0x2e,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2396(%rip),%rdi
mov    $0x42,%esi
jmp    2076 <main+0xec6>
mov    0x4(%rsp),%edx
lea    0x1489(%rip),%rsi
lea    0x10(%rsp),%rcx
mov    %r14,%rdi
xor    %eax,%eax
call   1090 <fprintf@plt>
lea    0x24c3(%rip),%rdi
mov    $0x62,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x250d(%rip),%rdi
mov    $0x5e,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2553(%rip),%rdi
mov    $0x66,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x25a1(%rip),%rdi
mov    $0x62,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x25eb(%rip),%rdi
mov    $0x2a,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x25fd(%rip),%rdi
mov    $0x59,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x263e(%rip),%rdi
mov    $0x27,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x264d(%rip),%rdi
mov    $0x54,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2689(%rip),%rdi
mov    $0x4e,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x26bf(%rip),%rdi
mov    $0x49,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x26f0(%rip),%rdi
mov    $0x52,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x272a(%rip),%rdi
mov    $0x50,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2762(%rip),%rdi
mov    $0x3f,%esi
jmp    22bb <main+0x110b>
lea    0x2791(%rip),%rdi
mov    $0x28,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x27a1(%rip),%rdi
mov    $0x28,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x27b1(%rip),%rdi
mov    $0x22,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x27bb(%rip),%rdi
mov    $0x2b,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x27ce(%rip),%rdi
mov    $0x25,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x33af(%rip),%rdi
call   1040 <puts@plt>
lea    0x33c6(%rip),%rdi
call   1040 <puts@plt>
lea    0x33e1(%rip),%rdi
call   1040 <puts@plt>
lea    0x33fd(%rip),%rdi
call   1040 <puts@plt>
lea    0x3415(%rip),%rdi
call   1040 <puts@plt>
lea    0x3410(%rip),%rdi
call   1040 <puts@plt>
lea    0x126e(%rip),%r15
lea    0xc(%rsp),%rbx
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
mov    %r15,%rdi
mov    %rbx,%rsi
call   10b0 <scanf@plt>
mov    0xc(%rsp),%eax
lea    -0x3(%rax),%ecx
cmp    $0xfffffffe,%ecx
jb     1e00 <main+0xc50>
cmp    $0x1,%eax
jne    22c8 <main+0x1118>
lea    0x2759(%rip),%rdi
mov    $0x27,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2768(%rip),%rdi
mov    $0x27,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x336d(%rip),%rdi
mov    $0x23,%esi
jmp    22bb <main+0x110b>
mov    0x4(%rsp),%edx
lea    0x11f0(%rip),%rsi
lea    0x10(%rsp),%rcx
mov    %r14,%rdi
xor    %eax,%eax
call   1090 <fprintf@plt>
lea    0x274c(%rip),%rdi
mov    $0x3e,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2772(%rip),%rdi
mov    $0x3b,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2795(%rip),%rdi
mov    $0x3d,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x27ba(%rip),%rdi
mov    $0x44,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x27e6(%rip),%rdi
mov    $0x40,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x127d(%rip),%rdi
mov    $0x3f,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x27f5(%rip),%rdi
mov    $0x42,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x295c(%rip),%rdi
mov    $0x31,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2806(%rip),%rdi
mov    $0x41,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x282f(%rip),%rdi
mov    $0x44,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x285b(%rip),%rdi
mov    $0x4e,%esi
jmp    22bb <main+0x110b>
mov    0x4(%rsp),%edx
lea    0x2895(%rip),%rsi
lea    0x10(%rsp),%rcx
mov    %r14,%rdi
xor    %eax,%eax
call   1090 <fprintf@plt>
lea    0x10ca(%rip),%rdi
mov    $0x45,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x287c(%rip),%rdi
mov    $0x4c,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2090(%rip),%rdi
mov    $0x42,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x26b4(%rip),%rdi
mov    $0x25,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x1130(%rip),%rdi
mov    $0x40,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x1158(%rip),%rdi
mov    $0x3f,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x117f(%rip),%rdi
mov    $0x3e,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2833(%rip),%rdi
mov    $0x35,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2850(%rip),%rdi
mov    $0x49,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x11f3(%rip),%rdi
mov    $0x45,%esi
jmp    22bb <main+0x110b>
lea    0x2870(%rip),%rdi
mov    $0x49,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x28a1(%rip),%rdi
mov    $0x40,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x28c9(%rip),%rdi
mov    $0x46,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x28f7(%rip),%rdi
mov    $0x42,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2921(%rip),%rdi
mov    $0x8,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2911(%rip),%rdi
mov    $0x46,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x293f(%rip),%rdi
mov    $0x40,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2967(%rip),%rdi
mov    $0x47,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2996(%rip),%rdi
mov    $0x3d,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x29bb(%rip),%rdi
mov    $0x3c,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x29df(%rip),%rdi
mov    $0x46,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2a0d(%rip),%rdi
mov    $0x1f,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2a14(%rip),%rdi
mov    $0x40,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2a3c(%rip),%rdi
mov    $0x43,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2a67(%rip),%rdi
mov    $0x47,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2a96(%rip),%rdi
mov    $0x42,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2ac0(%rip),%rdi
mov    $0x46,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2aee(%rip),%rdi
mov    $0x46,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2b1c(%rip),%rdi
mov    $0x21,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2b25(%rip),%rdi
mov    $0x3d,%esi
jmp    22bb <main+0x110b>
lea    0x2b55(%rip),%rdi
mov    $0x38,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2b75(%rip),%rdi
mov    $0x44,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
lea    0x2ba1(%rip),%rdi
mov    $0x2b,%esi
mov    $0x1,%edx
mov    %r14,%rcx
call   10d0 <fwrite@plt>
mov    0x4d09(%rip),%rax
mov    (%rax),%edx
mov    %r14,%rdi
xor    %esi,%esi
call   10a0 <fseek@plt>
lea    0x10(%rsp),%rdi
mov    $0x3e8,%esi
mov    %r14,%rdx
call   1070 <fgets@plt>
test   %rax,%rax
je     2322 <main+0x1172>
lea    0x1200(%rip),%r15
lea    0x10(%rsp),%rbx
xchg   %ax,%ax
mov    %r15,%rdi
mov    %rbx,%rsi
xor    %eax,%eax
call   1060 <printf@plt>
mov    %rbx,%rdi
mov    $0x3e8,%esi
mov    %r14,%rdx
call   1070 <fgets@plt>
test   %rax,%rax
jne    2300 <main+0x1150>
lea    0x2e05(%rip),%rdi
call   1040 <puts@plt>
lea    0x2b4e(%rip),%rdi
xor    %eax,%eax
call   1060 <printf@plt>
mov    %r14,%rdi
call   1050 <fclose@plt>
xor    %eax,%eax
add    $0x400,%rsp
pop    %rbx
pop    %r14
pop    %r15
ret

LLVM IR (-O0):
@.str = [12 x i8] c"license.txt\00"
@.str.1 = [3 x i8] c"w+\00"
@.str.2 = [24 x i8] c"Cannot open License.txt\00"
@.str.3 = [41 x i8] c"\0A License Generator \0A\00"
@.str.4 = [43 x i8] c"\0A ================= MENU ================\0A\00"
@.str.5 = [42 x i8] c" | 1) GNU Affero General Public License|\0A\00"
@.str.6 = [42 x i8] c" | 2) Apache License 2.0 |\0A\00"
@.str.7 = [42 x i8] c" | 3) BSD 2-Clause License |\0A\00"
@.str.8 = [42 x i8] c" | 4) BSD 3-Clause License |\0A\00"
@.str.9 = [42 x i8] c" | 5) Creative Commons Zero v1.0 |\0A\00"
@.str.10 = [42 x i8] c" | 6) GNU General Public License v2.0 |\0A\00"
@.str.11 = [42 x i8] c" | 7) GNU General Public License v3.0 |\0A\00"
@.str.12 = [42 x i8] c" | 8) MIT License |\0A\00"
@.str.13 = [42 x i8] c" | 9) Mozilla Public License |\0A\00"
@.str.14 = [42 x i8] c" | 10) GNU Lesser GPL v2.1 |\0A\00"
@.str.15 = [42 x i8] c" | 11) GNU Lesser GPL v3.0 |\0A\00"
@.str.16 = [42 x i8] c" | 12) The Unlicense |\0A\00"
@.str.17 = [42 x i8] c" | 13) What The Fuck You Want License |\0A\00"
@.str.18 = [42 x i8] c" =======================================\0A\00"
@.str.19 = [3 x i8] c"%d\00"
@.str.20 = [17 x i8] c"Enter the year.\0A\00"
@.str.21 = [37 x i8] c"Enter the name(s) of the author(s).\0A\00"
@stdin = global i32* null
@.str.22 = [2 x i8] c"\0A\00"
@.str.23 = [21 x i8] c"Copyright (C) %d %s\0A\00"
@.str.24 = [70 x i8] c"This program is free software: you can redistribute it and/or modify\0A\00"
@.str.25 = [64 x i8] c"it under the terms of the GNU Affero General Public License as\0A\00"
@.str.26 = [68 x i8] c"published by the Free Software Foundation, either version 3 of the\0A\00"
@.str.27 = [50 x i8] c"License, or (at your option) any later version.\0A\0A\00"
@.str.28 = [65 x i8] c"This program is distributed in the hope that it will be useful,\0A\00"
@.str.29 = [64 x i8] c"but WITHOUT ANY WARRANTY; without even the implied warranty of\0A\00"
@.str.30 = [63 x i8] c"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\0A\00"
@.str.31 = [54 x i8] c"GNU Affero General Public License for more details.\0A\0A\00"
@.str.32 = [74 x i8] c"You should have received a copy of the GNU Affero General Public License\0A\00"
@.str.33 = [70 x i8] c"along with this program. If not, see <http://www.gnu.org/licenses/>.\00"
@.str.34 = [17 x i8] c"Copyright %d %s\0A\00"
@.str.35 = [65 x i8] c"Licensed under the Apache License, Version 2.0 (the \22License\22);\0A\00"
@.str.36 = [66 x i8] c"you may not use this file except in compliance with the License.\0A\00"
@.str.37 = [42 x i8] c"You may obtain a copy of the License at\0A\0A\00"
@.str.38 = [49 x i8] c" http://www.apache.org/licenses/LICENSE-2.0\0A\0A\00"
@.str.39 = [69 x i8] c"Unless required by applicable law or agreed to in writing, software\0A\00"
@.str.40 = [67 x i8] c"distributed under the License is distributed on an \22AS IS\22 BASIS,\0A\00"
@.str.41 = [74 x i8] c"WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\0A\00"
@.str.42 = [69 x i8] c"See the License for the specific language governing permissions and\0A\00"
@.str.43 = [31 x i8] c"limitations under the License.\00"
@.str.44 = [20 x i8] c"Copyright (c) %d %s\00"
@.str.45 = [23 x i8] c"All rights reserved.\0A\0A\00"
@.str.46 = [96 x i8] c"Redistribution and use in source and binary forms, with or without modification, are permitted\0A\00"
@.str.47 = [50 x i8] c"provided that the following conditions are met:\0A\0A\00"
@.str.48 = [99 x i8] c"1. Redistributions of source code must retain the above copyright notice, this list of conditions\0A\00"
@.str.49 = [32 x i8] c"and the following disclaimer.\0A\0A\00"
@.str.50 = [102 x i8] c"2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions\0A\00"
@.str.51 = [92 x i8] c"and the following disclaimer in the documentation and/or other materials provided with the\0A\00"
@.str.52 = [16 x i8] c"distribution.\0A\0A\00"
@.str.53 = [81 x i8] c"THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \22AS IS\22 AND\0A\00"
@.str.54 = [79 x i8] c"ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\0A\00"
@.str.55 = [84 x i8] c"WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\0A\00"
@.str.56 = [82 x i8] c"IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\0A\00"
@.str.57 = [84 x i8] c"INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\0A\00"
@.str.58 = [84 x i8] c"NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\0A\00"
@.str.59 = [83 x i8] c"PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\0A\00"
@.str.60 = [84 x i8] c"WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\0A\00"
@.str.61 = [88 x i8] c"ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\0A\00"
@.str.62 = [16 x i8] c"OF SUCH DAMAGE.\00"
@.str.63 = [94 x i8] c"3. Neither the name of the copyright holder nor the names of its contributors may be used to\0A\00"
@.str.64 = [87 x i8] c"endorse or promote products derived from this software without specific prior written\0A\00"
@.str.65 = [14 x i8] c"permission.\0A\0A\00"
@.str.66 = [75 x i8] c"The person who associated a work with this deed has dedicated the work to\0A\00"
@.str.67 = [83 x i8] c"the public domain by waiving all of his or her rights to the work worldwide under\0A\00"
@.str.68 = [84 x i8] c"copyright law, including all related and neighboring rights, to the extent allowed\0A\00"
@.str.69 = [10 x i8] c"by law.\0A\0A\00"
@.str.70 = [76 x i8] c"You can copy, modify, distribute and perform the work, even for commercial\0A\00"
@.str.71 = [72 x i8] c"purposes, all without asking permission. See Other Information below.\0A\0A\00"
@.str.72 = [20 x i8] c"Other Information\0A\0A\00"
@.str.73 = [89 x i8] c"In no way are the patent or trademark rights of any person affected by CC0, nor are the\0A\00"
@.str.74 = [85 x i8] c"rights that other persons may have in the work or in how the work is used, such as\0A\0A\00"
@.str.75 = [31 x i8] c"publicity or privacy rights.\0A\0A\00"
@.str.76 = [84 x i8] c"Unless expressly stated otherwise, the person who associated a work with this deed\0A\00"
@.str.77 = [90 x i8] c"makes no warranties about the work, and disclaims liability for all uses of the work, to\0A\00"
@.str.78 = [50 x i8] c"the fullest extent permitted by applicable law.\0A\0A\00"
@.str.79 = [82 x i8] c"When using or citing the work, you should not imply endorsement by the author or\0A\00"
@.str.80 = [14 x i8] c"the affirmer.\00"
@.str.81 = [63 x i8] c"This program is free software: you can redistribute it and/or\0A\00"
@.str.82 = [61 x i8] c"modify it under the terms of the GNU General Public License\0A\00"
@.str.83 = [64 x i8] c"as published by the Free Software Foundation; either version 2\0A\00"
@.str.84 = [57 x i8] c"of the License, or (at your option) any later version.\0A\0A\00"
@.str.85 = [47 x i8] c"GNU General Public License for more details.\0A\0A\00"
@.str.86 = [67 x i8] c"You should have received a copy of the GNU General Public License\0A\00"
@.str.87 = [60 x i8] c"along with this program; if not, write to the Free Software\00"
@.str.88 = [80 x i8] c"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\00"
@.str.89 = [70 x i8] c"it under the terms of the GNU General Public License as published by\0A\00"
@.str.90 = [67 x i8] c"the Free Software Foundation, either version 3 of the License, or\0A\00"
@.str.91 = [38 x i8] c"(at your option) any later version.\0A\0A\00"
@.str.92 = [99 x i8] c"Permission is hereby granted, free of charge, to any person obtaining a copy of this software and\0A\00"
@.str.93 = [95 x i8] c"associated documentation files (the \22Software\22), to deal in the Software without restriction,\0A\00"
@.str.94 = [103 x i8] c"including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,\0A\00"
@.str.95 = [99 x i8] c"and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do\0A\00"
@.str.96 = [43 x i8] c"so, subject to the following conditions:\0A\0A\00"
@.str.97 = [90 x i8] c"The above copyright notice and this permission notice shall be included in all copies or\0A\00"
@.str.98 = [40 x i8] c"substantial portions of the Software.\0A\0A\00"
@.str.99 = [85 x i8] c"THE SOFTWARE IS PROVIDED \22AS IS\22, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,\0A\00"
@.str.100 = [79 x i8] c"INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\0A\00"
@.str.101 = [74 x i8] c"PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\0A\00"
@.str.102 = [83 x i8] c"COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN\0A\00"
@.str.103 = [81 x i8] c"AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\0A\00"
@.str.104 = [64 x i8] c"WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\00"
@.str.105 = [41 x i8] c"This Source Code Form is subject to the\0A\00"
@.str.106 = [41 x i8] c"terms of the Mozilla Public License, v.\0A\00"
@.str.107 = [35 x i8] c"2.0. If a copy of the MPL was not\0A\00"
@.str.108 = [44 x i8] c"distributed with this file, You can obtain\0A\00"
@.str.109 = [38 x i8] c"one at https://mozilla.org/MPL/2.0/.\0A\00"
@.str.110 = [36 x i8] c"Would you like to add Exibhit B? :\0A\00"
@.str.111 = [40 x i8] c"This Source Code Form is \22Incompatible\0A\00"
@.str.112 = [41 x i8] c"With Secondary Licenses\22, as defined by\0A\00"
@.str.113 = [37 x i8] c"the Mozilla Public License, v. 2.0.\0A\00"
@.str.114 = [8 x i8] c"1) Yes\0A\00"
@.str.115 = [9 x i8] c"2) No\0A\0A\0A\00"
@.str.116 = [40 x i8] c"\0AThis Source Code Form is Incompatible\0A\00"
@.str.117 = [40 x i8] c"With Secondary Licenses, as defined by\0A\00"
@.str.118 = [36 x i8] c"the Mozilla Public License, v. 2.0.\00"
@.str.119 = [63 x i8] c"This library is free software; you can redistribute it and/or\0A\00"
@.str.120 = [60 x i8] c"modify it under the terms of the GNU Lesser General Public\0A\00"
@.str.121 = [62 x i8] c"License as published by the Free Software Foundation; either\0A\00"
@.str.122 = [69 x i8] c"version 2.1 of the License, or (at your option) any later version.\0A\0A\00"
@.str.123 = [65 x i8] c"This library is distributed in the hope that it will be useful,\0A\00"
@.str.124 = [67 x i8] c"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\0A\00"
@.str.125 = [50 x i8] c"Lesser General Public License for more details.\0A\0A\00"
@.str.126 = [66 x i8] c"You should have received a copy of the GNU Lesser General Public\0A\00"
@.str.127 = [69 x i8] c"License along with this library; if not, write to the Free Software\0A\00"
@.str.128 = [79 x i8] c"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\00"
@.str.129 = [22 x i8] c"Copyright (C) %d %s\0A\0A\00"
@.str.130 = [77 x i8] c"it under the terms of the GNU Lesser General Public License as published by\0A\00"
@.str.131 = [54 x i8] c"GNU Lesser General Public License for more details.\0A\0A\00"
@.str.132 = [74 x i8] c"You should have received a copy of the GNU Lesser General Public License\0A\00"
@.str.133 = [74 x i8] c"This is free and unencumbered software released into the public domain.\0A\0A\00"
@.str.134 = [65 x i8] c"Anyone is free to copy, modify, publish, use, compile, sell, or\0A\00"
@.str.135 = [71 x i8] c"distribute this software, either in source code form or as a compiled\0A\00"
@.str.136 = [67 x i8] c"binary, for any purpose, commercial or non-commercial, and by any\0A\00"
@.str.137 = [9 x i8] c"means.\0A\0A\00"
@.str.138 = [71 x i8] c"In jurisdictions that recognize copyright laws, the author or authors\0A\00"
@.str.139 = [65 x i8] c"of this software dedicate any and all copyright interest in the\0A\00"
@.str.140 = [72 x i8] c"software to the public domain. We make this dedication for the benefit\0A\00"
@.str.141 = [62 x i8] c"of the public at large and to the detriment of our heirs and\0A\00"
@.str.142 = [61 x i8] c"successors. We intend this dedication to be an overt act of\0A\00"
@.str.143 = [71 x i8] c"relinquishment in perpetuity of all present and future rights to this\0A\00"
@.str.144 = [32 x i8] c"software under copyright law.\0A\0A\00"
@.str.145 = [65 x i8] c"THE SOFTWARE IS PROVIDED \22AS IS\22, WITHOUT WARRANTY OF ANY KIND,\0A\00"
@.str.146 = [68 x i8] c"EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\0A\00"
@.str.147 = [72 x i8] c"MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\0A\00"
@.str.148 = [67 x i8] c"IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR\0A\00"
@.str.149 = [71 x i8] c"OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,\0A\00"
@.str.150 = [71 x i8] c"ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\0A\00"
@.str.151 = [34 x i8] c"OTHER DEALINGS IN THE SOFTWARE.\0A\0A\00"
@.str.152 = [62 x i8] c"For more information, please refer to <http://unlicense.org/>\00"
@.str.153 = [57 x i8] c" DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE\0A\00"
@.str.154 = [69 x i8] c" TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\0A\0A\00"
@.str.155 = [44 x i8] c" 0. You just DO WHAT THE FUCK YOU WANT TO.\00"
@SEEK_SET = global i32 0
@.str.156 = [3 x i8] c"%s\00"
@.str.157 = [39 x i8] c"\0A\0ALicense.txt successfully generated.\0A\00"
@.str.158 = [27 x i8] c"The program will now exit.\00"
define i32 @main() {
%1 = alloca i32
%2 = alloca i32*
%3 = alloca i32
%4 = alloca i32
%5 = alloca i32
%6 = alloca [1000 x i8]
store i32 0, i32* %1
store i32* null, i32** %2
%7 = call i32* @fopen(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.1, i64 0, i64 0))
store i32* %7, i32** %2
store i32 0, i32* %3
store i32 0, i32* %4
store i32 0, i32* %5
%8 = load i32*, i32** %2
%9 = icmp eq i32* %8, null
br i1 %9, label %10, label %12
10: ; preds = %0
%11 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.2, i64 0, i64 0))
store i32 0, i32* %1
br label %467
12: ; preds = %0
%13 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.3, i64 0, i64 0))
%14 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.4, i64 0, i64 0))
%15 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.5, i64 0, i64 0))
%16 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.6, i64 0, i64 0))
%17 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.7, i64 0, i64 0))
%18 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.8, i64 0, i64 0))
%19 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.9, i64 0, i64 0))
%20 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.10, i64 0, i64 0))
%21 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.11, i64 0, i64 0))
%22 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.12, i64 0, i64 0))
%23 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.13, i64 0, i64 0))
%24 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.14, i64 0, i64 0))
%25 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.15, i64 0, i64 0))
%26 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.16, i64 0, i64 0))
%27 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.17, i64 0, i64 0))
%28 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.18, i64 0, i64 0))
br label %29
29: ; preds = %37, %12
%30 = call i32 @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.19, i64 0, i64 0), i32* %3)
br label %31
31: ; preds = %29
%32 = load i32, i32* %3
%33 = icmp slt i32 %32, 0
br i1 %33, label %37, label %34
34: ; preds = %31
%35 = load i32, i32* %3
%36 = icmp sgt i32 %35, 90
br label %37
37: ; preds = %34, %31
%38 = phi i1 [ true, %31 ], [ %36, %34 ]
br i1 %38, label %29, label %39
39: ; preds = %37
%40 = load i32, i32* %3
%41 = icmp ne i32 %40, 5
br i1 %41, label %42, label %59
42: ; preds = %39
%43 = load i32, i32* %3
%44 = icmp ne i32 %43, 9
br i1 %44, label %45, label %59
45: ; preds = %42
%46 = load i32, i32* %3
%47 = icmp ne i32 %46, 12
br i1 %47, label %48, label %59
48: ; preds = %45
%49 = load i32, i32* %3
%50 = icmp ne i32 %49, 13
br i1 %50, label %51, label %59
51: ; preds = %48
%52 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.20, i64 0, i64 0))
%53 = call i32 @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.19, i64 0, i64 0), i32* %4)
%54 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.21, i64 0, i64 0))
%55 = call i32 (...) @getchar()
%56 = getelementptr inbounds [1000 x i8], [1000 x i8]* %6, i64 0, i64 0
%57 = load i32*, i32** @stdin
%58 = call i32* @fgets(i8* %56, i32 1000, i32* %57)
br label %59
59: ; preds = %51, %48, %45, %42, %39
%60 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.22, i64 0, i64 0))
%61 = load i32, i32* %3
switch i32 %61, label %450 [
i32 1, label %62
i32 2, label %87
i32 3, label %110
i32 4, label %151
i32 5, label %198
i32 6, label %229
i32 7, label %256
i32 8, label %281
i32 9, label %312
i32 10, label %350
i32 11, label %377
i32 12, label %402
i32 13, label %443
]
62: ; preds = %59
%63 = load i32*, i32** %2
%64 = load i32, i32* %4
%65 = getelementptr inbounds [1000 x i8], [1000 x i8]* %6, i64 0, i64 0
%66 = call i32 (i32*, i8*, ...) @fprintf(i32* %63, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.23, i64 0, i64 0), i32 %64, i8* %65)
%67 = load i32*, i32** %2
%68 = call i32 (i32*, i8*, ...) @fprintf(i32* %67, i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.24, i64 0, i64 0))
%69 = load i32*, i32** %2
%70 = call i32 (i32*, i8*, ...) @fprintf(i32* %69, i8* getelementptr inbounds ([64 x i8], [64 x i8]* @.str.25, i64 0, i64 0))
%71 = load i32*, i32** %2
%72 = call i32 (i32*, i8*, ...) @fprintf(i32* %71, i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.26, i64 0, i64 0))
%73 = load i32*, i32** %2
%74 = call i32 (i32*, i8*, ...) @fprintf(i32* %73, i8* getelementptr inbounds ([50 x i8], [50 x i8]* @.str.27, i64 0, i64 0))
%75 = load i32*, i32** %2
%76 = call i32 (i32*, i8*, ...) @fprintf(i32* %75, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.28, i64 0, i64 0))
%77 = load i32*, i32** %2
%78 = call i32 (i32*, i8*, ...) @fprintf(i32* %77, i8* getelementptr inbounds ([64 x i8], [64 x i8]* @.str.29, i64 0, i64 0))
%79 = load i32*, i32** %2
%80 = call i32 (i32*, i8*, ...) @fprintf(i32* %79, i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.30, i64 0, i64 0))
%81 = load i32*, i32** %2
%82 = call i32 (i32*, i8*, ...) @fprintf(i32* %81, i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.31, i64 0, i64 0))
%83 = load i32*, i32** %2
%84 = call i32 (i32*, i8*, ...) @fprintf(i32* %83, i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.32, i64 0, i64 0))
%85 = load i32*, i32** %2
%86 = call i32 (i32*, i8*, ...) @fprintf(i32* %85, i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.33, i64 0, i64 0))
br label %450
87: ; preds = %59
%88 = load i32*, i32** %2
%89 = load i32, i32* %4
%90 = getelementptr inbounds [1000 x i8], [1000 x i8]* %6, i64 0, i64 0
%91 = call i32 (i32*, i8*, ...) @fprintf(i32* %88, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.34, i64 0, i64 0), i32 %89, i8* %90)
%92 = load i32*, i32** %2
%93 = call i32 (i32*, i8*, ...) @fprintf(i32* %92, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.35, i64 0, i64 0))
%94 = load i32*, i32** %2
%95 = call i32 (i32*, i8*, ...) @fprintf(i32* %94, i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.36, i64 0, i64 0))
%96 = load i32*, i32** %2
%97 = call i32 (i32*, i8*, ...) @fprintf(i32* %96, i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.37, i64 0, i64 0))
%98 = load i32*, i32** %2
%99 = call i32 (i32*, i8*, ...) @fprintf(i32* %98, i8* getelementptr inbounds ([49 x i8], [49 x i8]* @.str.38, i64 0, i64 0))
%100 = load i32*, i32** %2
%101 = call i32 (i32*, i8*, ...) @fprintf(i32* %100, i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.39, i64 0, i64 0))
%102 = load i32*, i32** %2
%103 = call i32 (i32*, i8*, ...) @fprintf(i32* %102, i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.40, i64 0, i64 0))
%104 = load i32*, i32** %2
%105 = call i32 (i32*, i8*, ...) @fprintf(i32* %104, i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.41, i64 0, i64 0))
%106 = load i32*, i32** %2
%107 = call i32 (i32*, i8*, ...) @fprintf(i32* %106, i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.42, i64 0, i64 0))
%108 = load i32*, i32** %2
%109 = call i32 (i32*, i8*, ...) @fprintf(i32* %108, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.43, i64 0, i64 0))
br label %450
110: ; preds = %59
%111 = load i32*, i32** %2
%112 = load i32, i32* %4
%113 = getelementptr inbounds [1000 x i8], [1000 x i8]* %6, i64 0, i64 0
%114 = call i32 (i32*, i8*, ...) @fprintf(i32* %111, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.44, i64 0, i64 0), i32 %112, i8* %113)
%115 = load i32*, i32** %2
%116 = call i32 (i32*, i8*, ...) @fprintf(i32* %115, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.45, i64 0, i64 0))
%117 = load i32*, i32** %2
%118 = call i32 (i32*, i8*, ...) @fprintf(i32* %117, i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.46, i64 0, i64 0))
%119 = load i32*, i32** %2
%120 = call i32 (i32*, i8*, ...) @fprintf(i32* %119, i8* getelementptr inbounds ([50 x i8], [50 x i8]* @.str.47, i64 0, i64 0))
%121 = load i32*, i32** %2
%122 = call i32 (i32*, i8*, ...) @fprintf(i32* %121, i8* getelementptr inbounds ([99 x i8], [99 x i8]* @.str.48, i64 0, i64 0))
%123 = load i32*, i32** %2
%124 = call i32 (i32*, i8*, ...) @fprintf(i32* %123, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.49, i64 0, i64 0))
%125 = load i32*, i32** %2
%126 = call i32 (i32*, i8*, ...) @fprintf(i32* %125, i8* getelementptr inbounds ([102 x i8], [102 x i8]* @.str.50, i64 0, i64 0))
%127 = load i32*, i32** %2
%128 = call i32 (i32*, i8*, ...) @fprintf(i32* %127, i8* getelementptr inbounds ([92 x i8], [92 x i8]* @.str.51, i64 0, i64 0))
%129 = load i32*, i32** %2
%130 = call i32 (i32*, i8*, ...) @fprintf(i32* %129, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.52, i64 0, i64 0))
%131 = load i32*, i32** %2
%132 = call i32 (i32*, i8*, ...) @fprintf(i32* %131, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.53, i64 0, i64 0))
%133 = load i32*, i32** %2
%134 = call i32 (i32*, i8*, ...) @fprintf(i32* %133, i8* getelementptr inbounds ([79 x i8], [79 x i8]* @.str.54, i64 0, i64 0))
%135 = load i32*, i32** %2
%136 = call i32 (i32*, i8*, ...) @fprintf(i32* %135, i8* getelementptr inbounds ([84 x i8], [84 x i8]* @.str.55, i64 0, i64 0))
%137 = load i32*, i32** %2
%138 = call i32 (i32*, i8*, ...) @fprintf(i32* %137, i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.56, i64 0, i64 0))
%139 = load i32*, i32** %2
%140 = call i32 (i32*, i8*, ...) @fprintf(i32* %139, i8* getelementptr inbounds ([84 x i8], [84 x i8]* @.str.57, i64 0, i64 0))
%141 = load i32*, i32** %2
%142 = call i32 (i32*, i8*, ...) @fprintf(i32* %141, i8* getelementptr inbounds ([84 x i8], [84 x i8]* @.str.58, i64 0, i64 0))
%143 = load i32*, i32** %2
%144 = call i32 (i32*, i8*, ...) @fprintf(i32* %143, i8* getelementptr inbounds ([83 x i8], [83 x i8]* @.str.59, i64 0, i64 0))
%145 = load i32*, i32** %2
%146 = call i32 (i32*, i8*, ...) @fprintf(i32* %145, i8* getelementptr inbounds ([84 x i8], [84 x i8]* @.str.60, i64 0, i64 0))
%147 = load i32*, i32** %2
%148 = call i32 (i32*, i8*, ...) @fprintf(i32* %147, i8* getelementptr inbounds ([88 x i8], [88 x i8]* @.str.61, i64 0, i64 0))
%149 = load i32*, i32** %2
%150 = call i32 (i32*, i8*, ...) @fprintf(i32* %149, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.62, i64 0, i64 0))
br label %450
151: ; preds = %59
%152 = load i32*, i32** %2
%153 = load i32, i32* %4
%154 = getelementptr inbounds [1000 x i8], [1000 x i8]* %6, i64 0, i64 0
%155 = call i32 (i32*, i8*, ...) @fprintf(i32* %152, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.44, i64 0, i64 0), i32 %153, i8* %154)
%156 = load i32*, i32** %2
%157 = call i32 (i32*, i8*, ...) @fprintf(i32* %156, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.45, i64 0, i64 0))
%158 = load i32*, i32** %2
%159 = call i32 (i32*, i8*, ...) @fprintf(i32* %158, i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.46, i64 0, i64 0))
%160 = load i32*, i32** %2
%161 = call i32 (i32*, i8*, ...) @fprintf(i32* %160, i8* getelementptr inbounds ([50 x i8], [50 x i8]* @.str.47, i64 0, i64 0))
%162 = load i32*, i32** %2
%163 = call i32 (i32*, i8*, ...) @fprintf(i32* %162, i8* getelementptr inbounds ([99 x i8], [99 x i8]* @.str.48, i64 0, i64 0))
%164 = load i32*, i32** %2
%165 = call i32 (i32*, i8*, ...) @fprintf(i32* %164, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.49, i64 0, i64 0))
%166 = load i32*, i32** %2
%167 = call i32 (i32*, i8*, ...) @fprintf(i32* %166, i8* getelementptr inbounds ([102 x i8], [102 x i8]* @.str.50, i64 0, i64 0))
%168 = load i32*, i32** %2
%169 = call i32 (i32*, i8*, ...) @fprintf(i32* %168, i8* getelementptr inbounds ([92 x i8], [92 x i8]* @.str.51, i64 0, i64 0))
%170 = load i32*, i32** %2
%171 = call i32 (i32*, i8*, ...) @fprintf(i32* %170, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.52, i64 0, i64 0))
%172 = load i32*, i32** %2
%173 = call i32 (i32*, i8*, ...) @fprintf(i32* %172, i8* getelementptr inbounds ([94 x i8], [94 x i8]* @.str.63, i64 0, i64 0))
%174 = load i32*, i32** %2
%175 = call i32 (i32*, i8*, ...) @fprintf(i32* %174, i8* getelementptr inbounds ([87 x i8], [87 x i8]* @.str.64, i64 0, i64 0))
%176 = load i32*, i32** %2
%177 = call i32 (i32*, i8*, ...) @fprintf(i32* %176, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.65, i64 0, i64 0))
%178 = load i32*, i32** %2
%179 = call i32 (i32*, i8*, ...) @fprintf(i32* %178, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.53, i64 0, i64 0))
%180 = load i32*, i32** %2
%181 = call i32 (i32*, i8*, ...) @fprintf(i32* %180, i8* getelementptr inbounds ([79 x i8], [79 x i8]* @.str.54, i64 0, i64 0))
%182 = load i32*, i32** %2
%183 = call i32 (i32*, i8*, ...) @fprintf(i32* %182, i8* getelementptr inbounds ([84 x i8], [84 x i8]* @.str.55, i64 0, i64 0))
%184 = load i32*, i32** %2
%185 = call i32 (i32*, i8*, ...) @fprintf(i32* %184, i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.56, i64 0, i64 0))
%186 = load i32*, i32** %2
%187 = call i32 (i32*, i8*, ...) @fprintf(i32* %186, i8* getelementptr inbounds ([84 x i8], [84 x i8]* @.str.57, i64 0, i64 0))
%188 = load i32*, i32** %2
%189 = call i32 (i32*, i8*, ...) @fprintf(i32* %188, i8* getelementptr inbounds ([84 x i8], [84 x i8]* @.str.58, i64 0, i64 0))
%190 = load i32*, i32** %2
%191 = call i32 (i32*, i8*, ...) @fprintf(i32* %190, i8* getelementptr inbounds ([83 x i8], [83 x i8]* @.str.59, i64 0, i64 0))
%192 = load i32*, i32** %2
%193 = call i32 (i32*, i8*, ...) @fprintf(i32* %192, i8* getelementptr inbounds ([84 x i8], [84 x i8]* @.str.60, i64 0, i64 0))
%194 = load i32*, i32** %2
%195 = call i32 (i32*, i8*, ...) @fprintf(i32* %194, i8* getelementptr inbounds ([88 x i8], [88 x i8]* @.str.61, i64 0, i64 0))
%196 = load i32*, i32** %2
%197 = call i32 (i32*, i8*, ...) @fprintf(i32* %196, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.62, i64 0, i64 0))
br label %450
198: ; preds = %59
%199 = load i32*, i32** %2
%200 = call i32 (i32*, i8*, ...) @fprintf(i32* %199, i8* getelementptr inbounds ([75 x i8], [75 x i8]* @.str.66, i64 0, i64 0))
%201 = load i32*, i32** %2
%202 = call i32 (i32*, i8*, ...) @fprintf(i32* %201, i8* getelementptr inbounds ([83 x i8], [83 x i8]* @.str.67, i64 0, i64 0))
%203 = load i32*, i32** %2
%204 = call i32 (i32*, i8*, ...) @fprintf(i32* %203, i8* getelementptr inbounds ([84 x i8], [84 x i8]* @.str.68, i64 0, i64 0))
%205 = load i32*, i32** %2
%206 = call i32 (i32*, i8*, ...) @fprintf(i32* %205, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.69, i64 0, i64 0))
%207 = load i32*, i32** %2
%208 = call i32 (i32*, i8*, ...) @fprintf(i32* %207, i8* getelementptr inbounds ([76 x i8], [76 x i8]* @.str.70, i64 0, i64 0))
%209 = load i32*, i32** %2
%210 = call i32 (i32*, i8*, ...) @fprintf(i32* %209, i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.71, i64 0, i64 0))
%211 = load i32*, i32** %2
%212 = call i32 (i32*, i8*, ...) @fprintf(i32* %211, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.72, i64 0, i64 0))
%213 = load i32*, i32** %2
%214 = call i32 (i32*, i8*, ...) @fprintf(i32* %213, i8* getelementptr inbounds ([89 x i8], [89 x i8]* @.str.73, i64 0, i64 0))
%215 = load i32*, i32** %2
%216 = call i32 (i32*, i8*, ...) @fprintf(i32* %215, i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.74, i64 0, i64 0))
%217 = load i32*, i32** %2
%218 = call i32 (i32*, i8*, ...) @fprintf(i32* %217, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.75, i64 0, i64 0))
%219 = load i32*, i32** %2
%220 = call i32 (i32*, i8*, ...) @fprintf(i32* %219, i8* getelementptr inbounds ([84 x i8], [84 x i8]* @.str.76, i64 0, i64 0))
%221 = load i32*, i32** %2
%222 = call i32 (i32*, i8*, ...) @fprintf(i32* %221, i8* getelementptr inbounds ([90 x i8], [90 x i8]* @.str.77, i64 0, i64 0))
%223 = load i32*, i32** %2
%224 = call i32 (i32*, i8*, ...) @fprintf(i32* %223, i8* getelementptr inbounds ([50 x i8], [50 x i8]* @.str.78, i64 0, i64 0))
%225 = load i32*, i32** %2
%226 = call i32 (i32*, i8*, ...) @fprintf(i32* %225, i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.79, i64 0, i64 0))
%227 = load i32*, i32** %2
%228 = call i32 (i32*, i8*, ...) @fprintf(i32* %227, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.80, i64 0, i64 0))
br label %450
229: ; preds = %59
%230 = load i32*, i32** %2
%231 = load i32, i32* %4
%232 = getelementptr inbounds [1000 x i8], [1000 x i8]* %6, i64 0, i64 0
%233 = call i32 (i32*, i8*, ...) @fprintf(i32* %230, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.23, i64 0, i64 0), i32 %231, i8* %232)
%234 = load i32*, i32** %2
%235 = call i32 (i32*, i8*, ...) @fprintf(i32* %234, i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.81, i64 0, i64 0))
%236 = load i32*, i32** %2
%237 = call i32 (i32*, i8*, ...) @fprintf(i32* %236, i8* getelementptr inbounds ([61 x i8], [61 x i8]* @.str.82, i64 0, i64 0))
%238 = load i32*, i32** %2
%239 = call i32 (i32*, i8*, ...) @fprintf(i32* %238, i8* getelementptr inbounds ([64 x i8], [64 x i8]* @.str.83, i64 0, i64 0))
%240 = load i32*, i32** %2
%241 = call i32 (i32*, i8*, ...) @fprintf(i32* %240, i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.84, i64 0, i64 0))
%242 = load i32*, i32** %2
%243 = call i32 (i32*, i8*, ...) @fprintf(i32* %242, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.28, i64 0, i64 0))
%244 = load i32*, i32** %2
%245 = call i32 (i32*, i8*, ...) @fprintf(i32* %244, i8* getelementptr inbounds ([64 x i8], [64 x i8]* @.str.29, i64 0, i64 0))
%246 = load i32*, i32** %2
%247 = call i32 (i32*, i8*, ...) @fprintf(i32* %246, i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.30, i64 0, i64 0))
%248 = load i32*, i32** %2
%249 = call i32 (i32*, i8*, ...) @fprintf(i32* %248, i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.85, i64 0, i64 0))
%250 = load i32*, i32** %2
%251 = call i32 (i32*, i8*, ...) @fprintf(i32* %250, i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.86, i64 0, i64 0))
%252 = load i32*, i32** %2
%253 = call i32 (i32*, i8*, ...) @fprintf(i32* %252, i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.87, i64 0, i64 0))
%254 = load i32*, i32** %2
%255 = call i32 (i32*, i8*, ...) @fprintf(i32* %254, i8* getelementptr inbounds ([80 x i8], [80 x i8]* @.str.88, i64 0, i64 0))
br label %450
256: ; preds = %59
%257 = load i32*, i32** %2
%258 = load i32, i32* %4
%259 = getelementptr inbounds [1000 x i8], [1000 x i8]* %6, i64 0, i64 0
%260 = call i32 (i32*, i8*, ...) @fprintf(i32* %257, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.23, i64 0, i64 0), i32 %258, i8* %259)
%261 = load i32*, i32** %2
%262 = call i32 (i32*, i8*, ...) @fprintf(i32* %261, i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.24, i64 0, i64 0))
%263 = load i32*, i32** %2
%264 = call i32 (i32*, i8*, ...) @fprintf(i32* %263, i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.89, i64 0, i64 0))
%265 = load i32*, i32** %2
%266 = call i32 (i32*, i8*, ...) @fprintf(i32* %265, i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.90, i64 0, i64 0))
%267 = load i32*, i32** %2
%268 = call i32 (i32*, i8*, ...) @fprintf(i32* %267, i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.91, i64 0, i64 0))
%269 = load i32*, i32** %2
%270 = call i32 (i32*, i8*, ...) @fprintf(i32* %269, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.28, i64 0, i64 0))
%271 = load i32*, i32** %2
%272 = call i32 (i32*, i8*, ...) @fprintf(i32* %271, i8* getelementptr inbounds ([64 x i8], [64 x i8]* @.str.29, i64 0, i64 0))
%273 = load i32*, i32** %2
%274 = call i32 (i32*, i8*, ...) @fprintf(i32* %273, i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.30, i64 0, i64 0))
%275 = load i32*, i32** %2
%276 = call i32 (i32*, i8*, ...) @fprintf(i32* %275, i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.85, i64 0, i64 0))
%277 = load i32*, i32** %2
%278 = call i32 (i32*, i8*, ...) @fprintf(i32* %277, i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.86, i64 0, i64 0))
%279 = load i32*, i32** %2
%280 = call i32 (i32*, i8*, ...) @fprintf(i32* %279, i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.33, i64 0, i64 0))
br label %450
281: ; preds = %59
%282 = load i32*, i32** %2
%283 = load i32, i32* %4
%284 = getelementptr inbounds [1000 x i8], [1000 x i8]* %6, i64 0, i64 0
%285 = call i32 (i32*, i8*, ...) @fprintf(i32* %282, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.23, i64 0, i64 0), i32 %283, i8* %284)
%286 = load i32*, i32** %2
%287 = call i32 (i32*, i8*, ...) @fprintf(i32* %286, i8* getelementptr inbounds ([99 x i8], [99 x i8]* @.str.92, i64 0, i64 0))
%288 = load i32*, i32** %2
%289 = call i32 (i32*, i8*, ...) @fprintf(i32* %288, i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.93, i64 0, i64 0))
%290 = load i32*, i32** %2
%291 = call i32 (i32*, i8*, ...) @fprintf(i32* %290, i8* getelementptr inbounds ([103 x i8], [103 x i8]* @.str.94, i64 0, i64 0))
%292 = load i32*, i32** %2
%293 = call i32 (i32*, i8*, ...) @fprintf(i32* %292, i8* getelementptr inbounds ([99 x i8], [99 x i8]* @.str.95, i64 0, i64 0))
%294 = load i32*, i32** %2
%295 = call i32 (i32*, i8*, ...) @fprintf(i32* %294, i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.96, i64 0, i64 0))
%296 = load i32*, i32** %2
%297 = call i32 (i32*, i8*, ...) @fprintf(i32* %296, i8* getelementptr inbounds ([90 x i8], [90 x i8]* @.str.97, i64 0, i64 0))
%298 = load i32*, i32** %2
%299 = call i32 (i32*, i8*, ...) @fprintf(i32* %298, i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.98, i64 0, i64 0))
%300 = load i32*, i32** %2
%301 = call i32 (i32*, i8*, ...) @fprintf(i32* %300, i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.99, i64 0, i64 0))
%302 = load i32*, i32** %2
%303 = call i32 (i32*, i8*, ...) @fprintf(i32* %302, i8* getelementptr inbounds ([79 x i8], [79 x i8]* @.str.100, i64 0, i64 0))
%304 = load i32*, i32** %2
%305 = call i32 (i32*, i8*, ...) @fprintf(i32* %304, i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.101, i64 0, i64 0))
%306 = load i32*, i32** %2
%307 = call i32 (i32*, i8*, ...) @fprintf(i32* %306, i8* getelementptr inbounds ([83 x i8], [83 x i8]* @.str.102, i64 0, i64 0))
%308 = load i32*, i32** %2
%309 = call i32 (i32*, i8*, ...) @fprintf(i32* %308, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.103, i64 0, i64 0))
%310 = load i32*, i32** %2
%311 = call i32 (i32*, i8*, ...) @fprintf(i32* %310, i8* getelementptr inbounds ([64 x i8], [64 x i8]* @.str.104, i64 0, i64 0))
br label %450
312: ; preds = %59
%313 = load i32*, i32** %2
%314 = call i32 (i32*, i8*, ...) @fprintf(i32* %313, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.105, i64 0, i64 0))
%315 = load i32*, i32** %2
%316 = call i32 (i32*, i8*, ...) @fprintf(i32* %315, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.106, i64 0, i64 0))
%317 = load i32*, i32** %2
%318 = call i32 (i32*, i8*, ...) @fprintf(i32* %317, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.107, i64 0, i64 0))
%319 = load i32*, i32** %2
%320 = call i32 (i32*, i8*, ...) @fprintf(i32* %319, i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.108, i64 0, i64 0))
%321 = load i32*, i32** %2
%322 = call i32 (i32*, i8*, ...) @fprintf(i32* %321, i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.109, i64 0, i64 0))
%323 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.110, i64 0, i64 0))
%324 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.111, i64 0, i64 0))
%325 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.112, i64 0, i64 0))
%326 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.113, i64 0, i64 0))
%327 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.114, i64 0, i64 0))
%328 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.115, i64 0, i64 0))
br label %329
329: ; preds = %337, %312
%330 = call i32 @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.19, i64 0, i64 0), i32* %5)
br label %331
331: ; preds = %329
%332 = load i32, i32* %5
%333 = icmp slt i32 %332, 1
br i1 %333, label %337, label %334
334: ; preds = %331
%335 = load i32, i32* %5
%336 = icmp sgt i32 %335, 2
br label %337
337: ; preds = %334, %331
%338 = phi i1 [ true, %331 ], [ %336, %334 ]
br i1 %338, label %329, label %339
339: ; preds = %337
%340 = load i32, i32* %5
%341 = icmp eq i32 %340, 1
br i1 %341, label %342, label %349
342: ; preds = %339
%343 = load i32*, i32** %2
%344 = call i32 (i32*, i8*, ...) @fprintf(i32* %343, i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.116, i64 0, i64 0))
%345 = load i32*, i32** %2
%346 = call i32 (i32*, i8*, ...) @fprintf(i32* %345, i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.117, i64 0, i64 0))
%347 = load i32*, i32** %2
%348 = call i32 (i32*, i8*, ...) @fprintf(i32* %347, i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.118, i64 0, i64 0))
br label %349
349: ; preds = %342, %339
br label %450
350: ; preds = %59
%351 = load i32*, i32** %2
%352 = load i32, i32* %4
%353 = getelementptr inbounds [1000 x i8], [1000 x i8]* %6, i64 0, i64 0
%354 = call i32 (i32*, i8*, ...) @fprintf(i32* %351, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.23, i64 0, i64 0), i32 %352, i8* %353)
%355 = load i32*, i32** %2
%356 = call i32 (i32*, i8*, ...) @fprintf(i32* %355, i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.119, i64 0, i64 0))
%357 = load i32*, i32** %2
%358 = call i32 (i32*, i8*, ...) @fprintf(i32* %357, i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.120, i64 0, i64 0))
%359 = load i32*, i32** %2
%360 = call i32 (i32*, i8*, ...) @fprintf(i32* %359, i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str.121, i64 0, i64 0))
%361 = load i32*, i32** %2
%362 = call i32 (i32*, i8*, ...) @fprintf(i32* %361, i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.122, i64 0, i64 0))
%363 = load i32*, i32** %2
%364 = call i32 (i32*, i8*, ...) @fprintf(i32* %363, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.123, i64 0, i64 0))
%365 = load i32*, i32** %2
%366 = call i32 (i32*, i8*, ...) @fprintf(i32* %365, i8* getelementptr inbounds ([64 x i8], [64 x i8]* @.str.29, i64 0, i64 0))
%367 = load i32*, i32** %2
%368 = call i32 (i32*, i8*, ...) @fprintf(i32* %367, i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.124, i64 0, i64 0))
%369 = load i32*, i32** %2
%370 = call i32 (i32*, i8*, ...) @fprintf(i32* %369, i8* getelementptr inbounds ([50 x i8], [50 x i8]* @.str.125, i64 0, i64 0))
%371 = load i32*, i32** %2
%372 = call i32 (i32*, i8*, ...) @fprintf(i32* %371, i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.126, i64 0, i64 0))
%373 = load i32*, i32** %2
%374 = call i32 (i32*, i8*, ...) @fprintf(i32* %373, i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.127, i64 0, i64 0))
%375 = load i32*, i32** %2
%376 = call i32 (i32*, i8*, ...) @fprintf(i32* %375, i8* getelementptr inbounds ([79 x i8], [79 x i8]* @.str.128, i64 0, i64 0))
br label %450
377: ; preds = %59
%378 = load i32*, i32** %2
%379 = load i32, i32* %4
%380 = getelementptr inbounds [1000 x i8], [1000 x i8]* %6, i64 0, i64 0
%381 = call i32 (i32*, i8*, ...) @fprintf(i32* %378, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.129, i64 0, i64 0), i32 %379, i8* %380)
%382 = load i32*, i32** %2
%383 = call i32 (i32*, i8*, ...) @fprintf(i32* %382, i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.24, i64 0, i64 0))
%384 = load i32*, i32** %2
%385 = call i32 (i32*, i8*, ...) @fprintf(i32* %384, i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.130, i64 0, i64 0))
%386 = load i32*, i32** %2
%387 = call i32 (i32*, i8*, ...) @fprintf(i32* %386, i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.90, i64 0, i64 0))
%388 = load i32*, i32** %2
%389 = call i32 (i32*, i8*, ...) @fprintf(i32* %388, i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.91, i64 0, i64 0))
%390 = load i32*, i32** %2
%391 = call i32 (i32*, i8*, ...) @fprintf(i32* %390, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.28, i64 0, i64 0))
%392 = load i32*, i32** %2
%393 = call i32 (i32*, i8*, ...) @fprintf(i32* %392, i8* getelementptr inbounds ([64 x i8], [64 x i8]* @.str.29, i64 0, i64 0))
%394 = load i32*, i32** %2
%395 = call i32 (i32*, i8*, ...) @fprintf(i32* %394, i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.30, i64 0, i64 0))
%396 = load i32*, i32** %2
%397 = call i32 (i32*, i8*, ...) @fprintf(i32* %396, i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.131, i64 0, i64 0))
%398 = load i32*, i32** %2
%399 = call i32 (i32*, i8*, ...) @fprintf(i32* %398, i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.132, i64 0, i64 0))
%400 = load i32*, i32** %2
%401 = call i32 (i32*, i8*, ...) @fprintf(i32* %400, i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.33, i64 0, i64 0))
br label %450
402: ; preds = %59
%403 = load i32*, i32** %2
%404 = call i32 (i32*, i8*, ...) @fprintf(i32* %403, i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.133, i64 0, i64 0))
%405 = load i32*, i32** %2
%406 = call i32 (i32*, i8*, ...) @fprintf(i32* %405, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.134, i64 0, i64 0))
%407 = load i32*, i32** %2
%408 = call i32 (i32*, i8*, ...) @fprintf(i32* %407, i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.135, i64 0, i64 0))
%409 = load i32*, i32** %2
%410 = call i32 (i32*, i8*, ...) @fprintf(i32* %409, i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.136, i64 0, i64 0))
%411 = load i32*, i32** %2
%412 = call i32 (i32*, i8*, ...) @fprintf(i32* %411, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.137, i64 0, i64 0))
%413 = load i32*, i32** %2
%414 = call i32 (i32*, i8*, ...) @fprintf(i32* %413, i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.138, i64 0, i64 0))
%415 = load i32*, i32** %2
%416 = call i32 (i32*, i8*, ...) @fprintf(i32* %415, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.139, i64 0, i64 0))
%417 = load i32*, i32** %2
%418 = call i32 (i32*, i8*, ...) @fprintf(i32* %417, i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.140, i64 0, i64 0))
%419 = load i32*, i32** %2
%420 = call i32 (i32*, i8*, ...) @fprintf(i32* %419, i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str.141, i64 0, i64 0))
%421 = load i32*, i32** %2
%422 = call i32 (i32*, i8*, ...) @fprintf(i32* %421, i8* getelementptr inbounds ([61 x i8], [61 x i8]* @.str.142, i64 0, i64 0))
%423 = load i32*, i32** %2
%424 = call i32 (i32*, i8*, ...) @fprintf(i32* %423, i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.143, i64 0, i64 0))
%425 = load i32*, i32** %2
%426 = call i32 (i32*, i8*, ...) @fprintf(i32* %425, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.144, i64 0, i64 0))
%427 = load i32*, i32** %2
%428 = call i32 (i32*, i8*, ...) @fprintf(i32* %427, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.145, i64 0, i64 0))
%429 = load i32*, i32** %2
%430 = call i32 (i32*, i8*, ...) @fprintf(i32* %429, i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.146, i64 0, i64 0))
%431 = load i32*, i32** %2
%432 = call i32 (i32*, i8*, ...) @fprintf(i32* %431, i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.147, i64 0, i64 0))
%433 = load i32*, i32** %2
%434 = call i32 (i32*, i8*, ...) @fprintf(i32* %433, i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.148, i64 0, i64 0))
%435 = load i32*, i32** %2
%436 = call i32 (i32*, i8*, ...) @fprintf(i32* %435, i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.149, i64 0, i64 0))
%437 = load i32*, i32** %2
%438 = call i32 (i32*, i8*, ...) @fprintf(i32* %437, i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.150, i64 0, i64 0))
%439 = load i32*, i32** %2
%440 = call i32 (i32*, i8*, ...) @fprintf(i32* %439, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.151, i64 0, i64 0))
%441 = load i32*, i32** %2
%442 = call i32 (i32*, i8*, ...) @fprintf(i32* %441, i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str.152, i64 0, i64 0))
br label %450
443: ; preds = %59
%444 = load i32*, i32** %2
%445 = call i32 (i32*, i8*, ...) @fprintf(i32* %444, i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.153, i64 0, i64 0))
%446 = load i32*, i32** %2
%447 = call i32 (i32*, i8*, ...) @fprintf(i32* %446, i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.154, i64 0, i64 0))
%448 = load i32*, i32** %2
%449 = call i32 (i32*, i8*, ...) @fprintf(i32* %448, i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.155, i64 0, i64 0))
br label %450
450: ; preds = %59, %443, %402, %377, %350, %349, %281, %256, %229, %198, %151, %110, %87, %62
%451 = load i32*, i32** %2
%452 = load i32, i32* @SEEK_SET
%453 = call i32 @fseek(i32* %451, i32 0, i32 %452)
br label %454
454: ; preds = %459, %450
%455 = getelementptr inbounds [1000 x i8], [1000 x i8]* %6, i64 0, i64 0
%456 = load i32*, i32** %2
%457 = call i32* @fgets(i8* %455, i32 1000, i32* %456)
%458 = icmp ne i32* %457, null
br i1 %458, label %459, label %462
459: ; preds = %454
%460 = getelementptr inbounds [1000 x i8], [1000 x i8]* %6, i64 0, i64 0
%461 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.156, i64 0, i64 0), i8* %460)
br label %454
462: ; preds = %454
%463 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.157, i64 0, i64 0))
%464 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.158, i64 0, i64 0))
%465 = load i32*, i32** %2
%466 = call i32 @fclose(i32* %465)
store i32 0, i32* %1
br label %467
467: ; preds = %462, %10
%468 = load i32, i32* %1
ret i32 %468
}

LLVM IR (-O2):
@.str = [12 x i8] c"license.txt\00"
@.str.1 = [3 x i8] c"w+\00"
@.str.2 = [24 x i8] c"Cannot open License.txt\00"
@.str.19 = [3 x i8] c"%d\00"
@stdin = global i32* null
@.str.23 = [21 x i8] c"Copyright (C) %d %s\0A\00"
@.str.24 = [70 x i8] c"This program is free software: you can redistribute it and/or modify\0A\00"
@.str.25 = [64 x i8] c"it under the terms of the GNU Affero General Public License as\0A\00"
@.str.26 = [68 x i8] c"published by the Free Software Foundation, either version 3 of the\0A\00"
@.str.27 = [50 x i8] c"License, or (at your option) any later version.\0A\0A\00"
@.str.28 = [65 x i8] c"This program is distributed in the hope that it will be useful,\0A\00"
@.str.29 = [64 x i8] c"but WITHOUT ANY WARRANTY; without even the implied warranty of\0A\00"
@.str.30 = [63 x i8] c"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\0A\00"
@.str.31 = [54 x i8] c"GNU Affero General Public License for more details.\0A\0A\00"
@.str.32 = [74 x i8] c"You should have received a copy of the GNU Affero General Public License\0A\00"
@.str.33 = [70 x i8] c"along with this program. If not, see <http://www.gnu.org/licenses/>.\00"
@.str.34 = [17 x i8] c"Copyright %d %s\0A\00"
@.str.35 = [65 x i8] c"Licensed under the Apache License, Version 2.0 (the \22License\22);\0A\00"
@.str.36 = [66 x i8] c"you may not use this file except in compliance with the License.\0A\00"
@.str.37 = [42 x i8] c"You may obtain a copy of the License at\0A\0A\00"
@.str.38 = [49 x i8] c" http://www.apache.org/licenses/LICENSE-2.0\0A\0A\00"
@.str.39 = [69 x i8] c"Unless required by applicable law or agreed to in writing, software\0A\00"
@.str.40 = [67 x i8] c"distributed under the License is distributed on an \22AS IS\22 BASIS,\0A\00"
@.str.41 = [74 x i8] c"WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\0A\00"
@.str.42 = [69 x i8] c"See the License for the specific language governing permissions and\0A\00"
@.str.43 = [31 x i8] c"limitations under the License.\00"
@.str.44 = [20 x i8] c"Copyright (c) %d %s\00"
@.str.45 = [23 x i8] c"All rights reserved.\0A\0A\00"
@.str.46 = [96 x i8] c"Redistribution and use in source and binary forms, with or without modification, are permitted\0A\00"
@.str.47 = [50 x i8] c"provided that the following conditions are met:\0A\0A\00"
@.str.48 = [99 x i8] c"1. Redistributions of source code must retain the above copyright notice, this list of conditions\0A\00"
@.str.49 = [32 x i8] c"and the following disclaimer.\0A\0A\00"
@.str.50 = [102 x i8] c"2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions\0A\00"
@.str.51 = [92 x i8] c"and the following disclaimer in the documentation and/or other materials provided with the\0A\00"
@.str.52 = [16 x i8] c"distribution.\0A\0A\00"
@.str.53 = [81 x i8] c"THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \22AS IS\22 AND\0A\00"
@.str.54 = [79 x i8] c"ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\0A\00"
@.str.55 = [84 x i8] c"WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\0A\00"
@.str.56 = [82 x i8] c"IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\0A\00"
@.str.57 = [84 x i8] c"INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\0A\00"
@.str.58 = [84 x i8] c"NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\0A\00"
@.str.59 = [83 x i8] c"PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\0A\00"
@.str.60 = [84 x i8] c"WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\0A\00"
@.str.61 = [88 x i8] c"ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\0A\00"
@.str.62 = [16 x i8] c"OF SUCH DAMAGE.\00"
@.str.63 = [94 x i8] c"3. Neither the name of the copyright holder nor the names of its contributors may be used to\0A\00"
@.str.64 = [87 x i8] c"endorse or promote products derived from this software without specific prior written\0A\00"
@.str.65 = [14 x i8] c"permission.\0A\0A\00"
@.str.66 = [75 x i8] c"The person who associated a work with this deed has dedicated the work to\0A\00"
@.str.67 = [83 x i8] c"the public domain by waiving all of his or her rights to the work worldwide under\0A\00"
@.str.68 = [84 x i8] c"copyright law, including all related and neighboring rights, to the extent allowed\0A\00"
@.str.69 = [10 x i8] c"by law.\0A\0A\00"
@.str.70 = [76 x i8] c"You can copy, modify, distribute and perform the work, even for commercial\0A\00"
@.str.71 = [72 x i8] c"purposes, all without asking permission. See Other Information below.\0A\0A\00"
@.str.72 = [20 x i8] c"Other Information\0A\0A\00"
@.str.73 = [89 x i8] c"In no way are the patent or trademark rights of any person affected by CC0, nor are the\0A\00"
@.str.74 = [85 x i8] c"rights that other persons may have in the work or in how the work is used, such as\0A\0A\00"
@.str.75 = [31 x i8] c"publicity or privacy rights.\0A\0A\00"
@.str.76 = [84 x i8] c"Unless expressly stated otherwise, the person who associated a work with this deed\0A\00"
@.str.77 = [90 x i8] c"makes no warranties about the work, and disclaims liability for all uses of the work, to\0A\00"
@.str.78 = [50 x i8] c"the fullest extent permitted by applicable law.\0A\0A\00"
@.str.79 = [82 x i8] c"When using or citing the work, you should not imply endorsement by the author or\0A\00"
@.str.80 = [14 x i8] c"the affirmer.\00"
@.str.81 = [63 x i8] c"This program is free software: you can redistribute it and/or\0A\00"
@.str.82 = [61 x i8] c"modify it under the terms of the GNU General Public License\0A\00"
@.str.83 = [64 x i8] c"as published by the Free Software Foundation; either version 2\0A\00"
@.str.84 = [57 x i8] c"of the License, or (at your option) any later version.\0A\0A\00"
@.str.85 = [47 x i8] c"GNU General Public License for more details.\0A\0A\00"
@.str.86 = [67 x i8] c"You should have received a copy of the GNU General Public License\0A\00"
@.str.87 = [60 x i8] c"along with this program; if not, write to the Free Software\00"
@.str.88 = [80 x i8] c"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\00"
@.str.89 = [70 x i8] c"it under the terms of the GNU General Public License as published by\0A\00"
@.str.90 = [67 x i8] c"the Free Software Foundation, either version 3 of the License, or\0A\00"
@.str.91 = [38 x i8] c"(at your option) any later version.\0A\0A\00"
@.str.92 = [99 x i8] c"Permission is hereby granted, free of charge, to any person obtaining a copy of this software and\0A\00"
@.str.93 = [95 x i8] c"associated documentation files (the \22Software\22), to deal in the Software without restriction,\0A\00"
@.str.94 = [103 x i8] c"including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,\0A\00"
@.str.95 = [99 x i8] c"and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do\0A\00"
@.str.96 = [43 x i8] c"so, subject to the following conditions:\0A\0A\00"
@.str.97 = [90 x i8] c"The above copyright notice and this permission notice shall be included in all copies or\0A\00"
@.str.98 = [40 x i8] c"substantial portions of the Software.\0A\0A\00"
@.str.99 = [85 x i8] c"THE SOFTWARE IS PROVIDED \22AS IS\22, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,\0A\00"
@.str.100 = [79 x i8] c"INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\0A\00"
@.str.101 = [74 x i8] c"PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\0A\00"
@.str.102 = [83 x i8] c"COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN\0A\00"
@.str.103 = [81 x i8] c"AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\0A\00"
@.str.104 = [64 x i8] c"WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\00"
@.str.105 = [41 x i8] c"This Source Code Form is subject to the\0A\00"
@.str.106 = [41 x i8] c"terms of the Mozilla Public License, v.\0A\00"
@.str.107 = [35 x i8] c"2.0. If a copy of the MPL was not\0A\00"
@.str.108 = [44 x i8] c"distributed with this file, You can obtain\0A\00"
@.str.109 = [38 x i8] c"one at https://mozilla.org/MPL/2.0/.\0A\00"
@.str.116 = [40 x i8] c"\0AThis Source Code Form is Incompatible\0A\00"
@.str.117 = [40 x i8] c"With Secondary Licenses, as defined by\0A\00"
@.str.119 = [63 x i8] c"This library is free software; you can redistribute it and/or\0A\00"
@.str.120 = [60 x i8] c"modify it under the terms of the GNU Lesser General Public\0A\00"
@.str.121 = [62 x i8] c"License as published by the Free Software Foundation; either\0A\00"
@.str.122 = [69 x i8] c"version 2.1 of the License, or (at your option) any later version.\0A\0A\00"
@.str.123 = [65 x i8] c"This library is distributed in the hope that it will be useful,\0A\00"
@.str.124 = [67 x i8] c"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\0A\00"
@.str.125 = [50 x i8] c"Lesser General Public License for more details.\0A\0A\00"
@.str.126 = [66 x i8] c"You should have received a copy of the GNU Lesser General Public\0A\00"
@.str.127 = [69 x i8] c"License along with this library; if not, write to the Free Software\0A\00"
@.str.128 = [79 x i8] c"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\00"
@.str.129 = [22 x i8] c"Copyright (C) %d %s\0A\0A\00"
@.str.130 = [77 x i8] c"it under the terms of the GNU Lesser General Public License as published by\0A\00"
@.str.131 = [54 x i8] c"GNU Lesser General Public License for more details.\0A\0A\00"
@.str.132 = [74 x i8] c"You should have received a copy of the GNU Lesser General Public License\0A\00"
@.str.133 = [74 x i8] c"This is free and unencumbered software released into the public domain.\0A\0A\00"
@.str.134 = [65 x i8] c"Anyone is free to copy, modify, publish, use, compile, sell, or\0A\00"
@.str.135 = [71 x i8] c"distribute this software, either in source code form or as a compiled\0A\00"
@.str.136 = [67 x i8] c"binary, for any purpose, commercial or non-commercial, and by any\0A\00"
@.str.137 = [9 x i8] c"means.\0A\0A\00"
@.str.138 = [71 x i8] c"In jurisdictions that recognize copyright laws, the author or authors\0A\00"
@.str.139 = [65 x i8] c"of this software dedicate any and all copyright interest in the\0A\00"
@.str.140 = [72 x i8] c"software to the public domain. We make this dedication for the benefit\0A\00"
@.str.141 = [62 x i8] c"of the public at large and to the detriment of our heirs and\0A\00"
@.str.142 = [61 x i8] c"successors. We intend this dedication to be an overt act of\0A\00"
@.str.143 = [71 x i8] c"relinquishment in perpetuity of all present and future rights to this\0A\00"
@.str.144 = [32 x i8] c"software under copyright law.\0A\0A\00"
@.str.145 = [65 x i8] c"THE SOFTWARE IS PROVIDED \22AS IS\22, WITHOUT WARRANTY OF ANY KIND,\0A\00"
@.str.146 = [68 x i8] c"EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\0A\00"
@.str.147 = [72 x i8] c"MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\0A\00"
@.str.148 = [67 x i8] c"IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR\0A\00"
@.str.149 = [71 x i8] c"OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,\0A\00"
@.str.150 = [71 x i8] c"ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\0A\00"
@.str.151 = [34 x i8] c"OTHER DEALINGS IN THE SOFTWARE.\0A\0A\00"
@.str.152 = [62 x i8] c"For more information, please refer to <http://unlicense.org/>\00"
@.str.153 = [57 x i8] c" DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE\0A\00"
@.str.154 = [69 x i8] c" TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\0A\0A\00"
@.str.155 = [44 x i8] c" 0. You just DO WHAT THE FUCK YOU WANT TO.\00"
@SEEK_SET = global i32 0
@.str.156 = [3 x i8] c"%s\00"
@.str.158 = [27 x i8] c"The program will now exit.\00"
@str = [40 x i8] c"\0A License Generator \00"
@str.159 = [42 x i8] c"\0A ================= MENU ================\00"
@str.160 = [41 x i8] c" | 1) GNU Affero General Public License|\00"
@str.161 = [41 x i8] c" | 2) Apache License 2.0 |\00"
@str.162 = [41 x i8] c" | 3) BSD 2-Clause License |\00"
@str.163 = [41 x i8] c" | 4) BSD 3-Clause License |\00"
@str.164 = [41 x i8] c" | 5) Creative Commons Zero v1.0 |\00"
@str.165 = [41 x i8] c" | 6) GNU General Public License v2.0 |\00"
@str.166 = [41 x i8] c" | 7) GNU General Public License v3.0 |\00"
@str.167 = [41 x i8] c" | 8) MIT License |\00"
@str.168 = [41 x i8] c" | 9) Mozilla Public License |\00"
@str.169 = [41 x i8] c" | 10) GNU Lesser GPL v2.1 |\00"
@str.170 = [41 x i8] c" | 11) GNU Lesser GPL v3.0 |\00"
@str.171 = [41 x i8] c" | 12) The Unlicense |\00"
@str.172 = [41 x i8] c" | 13) What The Fuck You Want License |\00"
@str.173 = [41 x i8] c" =======================================\00"
@str.174 = [38 x i8] c"\0A\0ALicense.txt successfully generated.\00"
@str.175 = [35 x i8] c"Would you like to add Exibhit B? :\00"
@str.176 = [39 x i8] c"This Source Code Form is \22Incompatible\00"
@str.177 = [40 x i8] c"With Secondary Licenses\22, as defined by\00"
@str.178 = [36 x i8] c"the Mozilla Public License, v. 2.0.\00"
@str.179 = [7 x i8] c"1) Yes\00"
@str.180 = [8 x i8] c"2) No\0A\0A\00"
@str.181 = [16 x i8] c"Enter the year.\00"
@str.182 = [36 x i8] c"Enter the name(s) of the author(s).\00"
define i32 @main() {
%1 = alloca i32
%2 = alloca i32
%3 = alloca i32
%4 = alloca [1000 x i8]
%5 = tail call i32* @fopen(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.1, i64 0, i64 0))
%6 = bitcast i32* %1 to i8*
store i32 0, i32* %1
%7 = bitcast i32* %2 to i8*
store i32 0, i32* %2
%8 = bitcast i32* %3 to i8*
store i32 0, i32* %3
%9 = getelementptr inbounds [1000 x i8], [1000 x i8]* %4, i64 0, i64 0
%10 = icmp eq i32* %5, null
br i1 %10, label %11, label %13
11: ; preds = %0
%12 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.2, i64 0, i64 0))
br label %262
13: ; preds = %0
%14 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([40 x i8], [40 x i8]* @str, i64 0, i64 0))
%15 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([42 x i8], [42 x i8]* @str.159, i64 0, i64 0))
%16 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([41 x i8], [41 x i8]* @str.160, i64 0, i64 0))
%17 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([41 x i8], [41 x i8]* @str.161, i64 0, i64 0))
%18 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([41 x i8], [41 x i8]* @str.162, i64 0, i64 0))
%19 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([41 x i8], [41 x i8]* @str.163, i64 0, i64 0))
%20 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([41 x i8], [41 x i8]* @str.164, i64 0, i64 0))
%21 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([41 x i8], [41 x i8]* @str.165, i64 0, i64 0))
%22 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([41 x i8], [41 x i8]* @str.166, i64 0, i64 0))
%23 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([41 x i8], [41 x i8]* @str.167, i64 0, i64 0))
%24 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([41 x i8], [41 x i8]* @str.168, i64 0, i64 0))
%25 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([41 x i8], [41 x i8]* @str.169, i64 0, i64 0))
%26 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([41 x i8], [41 x i8]* @str.170, i64 0, i64 0))
%27 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([41 x i8], [41 x i8]* @str.171, i64 0, i64 0))
%28 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([41 x i8], [41 x i8]* @str.172, i64 0, i64 0))
%29 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([41 x i8], [41 x i8]* @str.173, i64 0, i64 0))
br label %30
30: ; preds = %30, %13
%31 = call i32 @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.19, i64 0, i64 0), i32* %1)
%32 = load i32, i32* %1
%33 = icmp ugt i32 %32, 90
br i1 %33, label %30, label %34
34: ; preds = %30
switch i32 %32, label %35 [
i32 13, label %42
i32 12, label %42
i32 9, label %42
i32 5, label %42
]
35: ; preds = %34
%36 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([16 x i8], [16 x i8]* @str.181, i64 0, i64 0))
%37 = call i32 @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.19, i64 0, i64 0), i32* %2)
%38 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([36 x i8], [36 x i8]* @str.182, i64 0, i64 0))
%39 = call i32 (...) @getchar()
%40 = load i32*, i32** @stdin
%41 = call i32* @fgets(i8* %9, i32 1000, i32* %40)
br label %42
42: ; preds = %34, %34, %34, %34, %35
%43 = call i32 @putchar(i32 10)
%44 = load i32, i32* %1
switch i32 %44, label %249 [
i32 1, label %45
i32 2, label %58
i32 3, label %70
i32 4, label %91
i32 5, label %115
i32 6, label %131
i32 7, label %145
i32 8, label %158
i32 9, label %174
i32 10, label %197
i32 11, label %211
i32 12, label %224
i32 13, label %245
]
45: ; preds = %42
%46 = load i32, i32* %2
%47 = call i32 (i32*, i8*, ...) @fprintf(i32* %5, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.23, i64 0, i64 0), i32 %46, i8* %9)
%48 = call i64 @fwrite(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.24, i64 0, i64 0), i64 69, i64 1, i32* %5)
%49 = call i64 @fwrite(i8* getelementptr inbounds ([64 x i8], [64 x i8]* @.str.25, i64 0, i64 0), i64 63, i64 1, i32* %5)
%50 = call i64 @fwrite(i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.26, i64 0, i64 0), i64 67, i64 1, i32* %5)
%51 = call i64 @fwrite(i8* getelementptr inbounds ([50 x i8], [50 x i8]* @.str.27, i64 0, i64 0), i64 49, i64 1, i32* %5)
%52 = call i64 @fwrite(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.28, i64 0, i64 0), i64 64, i64 1, i32* %5)
%53 = call i64 @fwrite(i8* getelementptr inbounds ([64 x i8], [64 x i8]* @.str.29, i64 0, i64 0), i64 63, i64 1, i32* %5)
%54 = call i64 @fwrite(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.30, i64 0, i64 0), i64 62, i64 1, i32* %5)
%55 = call i64 @fwrite(i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.31, i64 0, i64 0), i64 53, i64 1, i32* %5)
%56 = call i64 @fwrite(i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.32, i64 0, i64 0), i64 73, i64 1, i32* %5)
%57 = call i64 @fwrite(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.33, i64 0, i64 0), i64 69, i64 1, i32* %5)
br label %249
58: ; preds = %42
%59 = load i32, i32* %2
%60 = call i32 (i32*, i8*, ...) @fprintf(i32* %5, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.34, i64 0, i64 0), i32 %59, i8* %9)
%61 = call i64 @fwrite(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.35, i64 0, i64 0), i64 64, i64 1, i32* %5)
%62 = call i64 @fwrite(i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.36, i64 0, i64 0), i64 65, i64 1, i32* %5)
%63 = call i64 @fwrite(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.37, i64 0, i64 0), i64 41, i64 1, i32* %5)
%64 = call i64 @fwrite(i8* getelementptr inbounds ([49 x i8], [49 x i8]* @.str.38, i64 0, i64 0), i64 48, i64 1, i32* %5)
%65 = call i64 @fwrite(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.39, i64 0, i64 0), i64 68, i64 1, i32* %5)
%66 = call i64 @fwrite(i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.40, i64 0, i64 0), i64 66, i64 1, i32* %5)
%67 = call i64 @fwrite(i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.41, i64 0, i64 0), i64 73, i64 1, i32* %5)
%68 = call i64 @fwrite(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.42, i64 0, i64 0), i64 68, i64 1, i32* %5)
%69 = call i64 @fwrite(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.43, i64 0, i64 0), i64 30, i64 1, i32* %5)
br label %249
70: ; preds = %42
%71 = load i32, i32* %2
%72 = call i32 (i32*, i8*, ...) @fprintf(i32* %5, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.44, i64 0, i64 0), i32 %71, i8* %9)
%73 = call i64 @fwrite(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.45, i64 0, i64 0), i64 22, i64 1, i32* %5)
%74 = call i64 @fwrite(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.46, i64 0, i64 0), i64 95, i64 1, i32* %5)
%75 = call i64 @fwrite(i8* getelementptr inbounds ([50 x i8], [50 x i8]* @.str.47, i64 0, i64 0), i64 49, i64 1, i32* %5)
%76 = call i64 @fwrite(i8* getelementptr inbounds ([99 x i8], [99 x i8]* @.str.48, i64 0, i64 0), i64 98, i64 1, i32* %5)
%77 = call i64 @fwrite(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.49, i64 0, i64 0), i64 31, i64 1, i32* %5)
%78 = call i64 @fwrite(i8* getelementptr inbounds ([102 x i8], [102 x i8]* @.str.50, i64 0, i64 0), i64 101, i64 1, i32* %5)
%79 = call i64 @fwrite(i8* getelementptr inbounds ([92 x i8], [92 x i8]* @.str.51, i64 0, i64 0), i64 91, i64 1, i32* %5)
%80 = call i64 @fwrite(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.52, i64 0, i64 0), i64 15, i64 1, i32* %5)
%81 = call i64 @fwrite(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.53, i64 0, i64 0), i64 80, i64 1, i32* %5)
%82 = call i64 @fwrite(i8* getelementptr inbounds ([79 x i8], [79 x i8]* @.str.54, i64 0, i64 0), i64 78, i64 1, i32* %5)
%83 = call i64 @fwrite(i8* getelementptr inbounds ([84 x i8], [84 x i8]* @.str.55, i64 0, i64 0), i64 83, i64 1, i32* %5)
%84 = call i64 @fwrite(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.56, i64 0, i64 0), i64 81, i64 1, i32* %5)
%85 = call i64 @fwrite(i8* getelementptr inbounds ([84 x i8], [84 x i8]* @.str.57, i64 0, i64 0), i64 83, i64 1, i32* %5)
%86 = call i64 @fwrite(i8* getelementptr inbounds ([84 x i8], [84 x i8]* @.str.58, i64 0, i64 0), i64 83, i64 1, i32* %5)
%87 = call i64 @fwrite(i8* getelementptr inbounds ([83 x i8], [83 x i8]* @.str.59, i64 0, i64 0), i64 82, i64 1, i32* %5)
%88 = call i64 @fwrite(i8* getelementptr inbounds ([84 x i8], [84 x i8]* @.str.60, i64 0, i64 0), i64 83, i64 1, i32* %5)
%89 = call i64 @fwrite(i8* getelementptr inbounds ([88 x i8], [88 x i8]* @.str.61, i64 0, i64 0), i64 87, i64 1, i32* %5)
%90 = call i64 @fwrite(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.62, i64 0, i64 0), i64 15, i64 1, i32* %5)
br label %249
91: ; preds = %42
%92 = load i32, i32* %2
%93 = call i32 (i32*, i8*, ...) @fprintf(i32* %5, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.44, i64 0, i64 0), i32 %92, i8* %9)
%94 = call i64 @fwrite(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.45, i64 0, i64 0), i64 22, i64 1, i32* %5)
%95 = call i64 @fwrite(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.46, i64 0, i64 0), i64 95, i64 1, i32* %5)
%96 = call i64 @fwrite(i8* getelementptr inbounds ([50 x i8], [50 x i8]* @.str.47, i64 0, i64 0), i64 49, i64 1, i32* %5)
%97 = call i64 @fwrite(i8* getelementptr inbounds ([99 x i8], [99 x i8]* @.str.48, i64 0, i64 0), i64 98, i64 1, i32* %5)
%98 = call i64 @fwrite(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.49, i64 0, i64 0), i64 31, i64 1, i32* %5)
%99 = call i64 @fwrite(i8* getelementptr inbounds ([102 x i8], [102 x i8]* @.str.50, i64 0, i64 0), i64 101, i64 1, i32* %5)
%100 = call i64 @fwrite(i8* getelementptr inbounds ([92 x i8], [92 x i8]* @.str.51, i64 0, i64 0), i64 91, i64 1, i32* %5)
%101 = call i64 @fwrite(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.52, i64 0, i64 0), i64 15, i64 1, i32* %5)
%102 = call i64 @fwrite(i8* getelementptr inbounds ([94 x i8], [94 x i8]* @.str.63, i64 0, i64 0), i64 93, i64 1, i32* %5)
%103 = call i64 @fwrite(i8* getelementptr inbounds ([87 x i8], [87 x i8]* @.str.64, i64 0, i64 0), i64 86, i64 1, i32* %5)
%104 = call i64 @fwrite(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.65, i64 0, i64 0), i64 13, i64 1, i32* %5)
%105 = call i64 @fwrite(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.53, i64 0, i64 0), i64 80, i64 1, i32* %5)
%106 = call i64 @fwrite(i8* getelementptr inbounds ([79 x i8], [79 x i8]* @.str.54, i64 0, i64 0), i64 78, i64 1, i32* %5)
%107 = call i64 @fwrite(i8* getelementptr inbounds ([84 x i8], [84 x i8]* @.str.55, i64 0, i64 0), i64 83, i64 1, i32* %5)
%108 = call i64 @fwrite(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.56, i64 0, i64 0), i64 81, i64 1, i32* %5)
%109 = call i64 @fwrite(i8* getelementptr inbounds ([84 x i8], [84 x i8]* @.str.57, i64 0, i64 0), i64 83, i64 1, i32* %5)
%110 = call i64 @fwrite(i8* getelementptr inbounds ([84 x i8], [84 x i8]* @.str.58, i64 0, i64 0), i64 83, i64 1, i32* %5)
%111 = call i64 @fwrite(i8* getelementptr inbounds ([83 x i8], [83 x i8]* @.str.59, i64 0, i64 0), i64 82, i64 1, i32* %5)
%112 = call i64 @fwrite(i8* getelementptr inbounds ([84 x i8], [84 x i8]* @.str.60, i64 0, i64 0), i64 83, i64 1, i32* %5)
%113 = call i64 @fwrite(i8* getelementptr inbounds ([88 x i8], [88 x i8]* @.str.61, i64 0, i64 0), i64 87, i64 1, i32* %5)
%114 = call i64 @fwrite(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.62, i64 0, i64 0), i64 15, i64 1, i32* %5)
br label %249
115: ; preds = %42
%116 = call i64 @fwrite(i8* getelementptr inbounds ([75 x i8], [75 x i8]* @.str.66, i64 0, i64 0), i64 74, i64 1, i32* %5)
%117 = call i64 @fwrite(i8* getelementptr inbounds ([83 x i8], [83 x i8]* @.str.67, i64 0, i64 0), i64 82, i64 1, i32* %5)
%118 = call i64 @fwrite(i8* getelementptr inbounds ([84 x i8], [84 x i8]* @.str.68, i64 0, i64 0), i64 83, i64 1, i32* %5)
%119 = call i64 @fwrite(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.69, i64 0, i64 0), i64 9, i64 1, i32* %5)
%120 = call i64 @fwrite(i8* getelementptr inbounds ([76 x i8], [76 x i8]* @.str.70, i64 0, i64 0), i64 75, i64 1, i32* %5)
%121 = call i64 @fwrite(i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.71, i64 0, i64 0), i64 71, i64 1, i32* %5)
%122 = call i64 @fwrite(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.72, i64 0, i64 0), i64 19, i64 1, i32* %5)
%123 = call i64 @fwrite(i8* getelementptr inbounds ([89 x i8], [89 x i8]* @.str.73, i64 0, i64 0), i64 88, i64 1, i32* %5)
%124 = call i64 @fwrite(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.74, i64 0, i64 0), i64 84, i64 1, i32* %5)
%125 = call i64 @fwrite(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.75, i64 0, i64 0), i64 30, i64 1, i32* %5)
%126 = call i64 @fwrite(i8* getelementptr inbounds ([84 x i8], [84 x i8]* @.str.76, i64 0, i64 0), i64 83, i64 1, i32* %5)
%127 = call i64 @fwrite(i8* getelementptr inbounds ([90 x i8], [90 x i8]* @.str.77, i64 0, i64 0), i64 89, i64 1, i32* %5)
%128 = call i64 @fwrite(i8* getelementptr inbounds ([50 x i8], [50 x i8]* @.str.78, i64 0, i64 0), i64 49, i64 1, i32* %5)
%129 = call i64 @fwrite(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.79, i64 0, i64 0), i64 81, i64 1, i32* %5)
%130 = call i64 @fwrite(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.80, i64 0, i64 0), i64 13, i64 1, i32* %5)
br label %249
131: ; preds = %42
%132 = load i32, i32* %2
%133 = call i32 (i32*, i8*, ...) @fprintf(i32* %5, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.23, i64 0, i64 0), i32 %132, i8* %9)
%134 = call i64 @fwrite(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.81, i64 0, i64 0), i64 62, i64 1, i32* %5)
%135 = call i64 @fwrite(i8* getelementptr inbounds ([61 x i8], [61 x i8]* @.str.82, i64 0, i64 0), i64 60, i64 1, i32* %5)
%136 = call i64 @fwrite(i8* getelementptr inbounds ([64 x i8], [64 x i8]* @.str.83, i64 0, i64 0), i64 63, i64 1, i32* %5)
%137 = call i64 @fwrite(i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.84, i64 0, i64 0), i64 56, i64 1, i32* %5)
%138 = call i64 @fwrite(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.28, i64 0, i64 0), i64 64, i64 1, i32* %5)
%139 = call i64 @fwrite(i8* getelementptr inbounds ([64 x i8], [64 x i8]* @.str.29, i64 0, i64 0), i64 63, i64 1, i32* %5)
%140 = call i64 @fwrite(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.30, i64 0, i64 0), i64 62, i64 1, i32* %5)
%141 = call i64 @fwrite(i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.85, i64 0, i64 0), i64 46, i64 1, i32* %5)
%142 = call i64 @fwrite(i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.86, i64 0, i64 0), i64 66, i64 1, i32* %5)
%143 = call i64 @fwrite(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.87, i64 0, i64 0), i64 59, i64 1, i32* %5)
%144 = call i64 @fwrite(i8* getelementptr inbounds ([80 x i8], [80 x i8]* @.str.88, i64 0, i64 0), i64 79, i64 1, i32* %5)
br label %249
145: ; preds = %42
%146 = load i32, i32* %2
%147 = call i32 (i32*, i8*, ...) @fprintf(i32* %5, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.23, i64 0, i64 0), i32 %146, i8* %9)
%148 = call i64 @fwrite(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.24, i64 0, i64 0), i64 69, i64 1, i32* %5)
%149 = call i64 @fwrite(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.89, i64 0, i64 0), i64 69, i64 1, i32* %5)
%150 = call i64 @fwrite(i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.90, i64 0, i64 0), i64 66, i64 1, i32* %5)
%151 = call i64 @fwrite(i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.91, i64 0, i64 0), i64 37, i64 1, i32* %5)
%152 = call i64 @fwrite(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.28, i64 0, i64 0), i64 64, i64 1, i32* %5)
%153 = call i64 @fwrite(i8* getelementptr inbounds ([64 x i8], [64 x i8]* @.str.29, i64 0, i64 0), i64 63, i64 1, i32* %5)
%154 = call i64 @fwrite(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.30, i64 0, i64 0), i64 62, i64 1, i32* %5)
%155 = call i64 @fwrite(i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.85, i64 0, i64 0), i64 46, i64 1, i32* %5)
%156 = call i64 @fwrite(i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.86, i64 0, i64 0), i64 66, i64 1, i32* %5)
%157 = call i64 @fwrite(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.33, i64 0, i64 0), i64 69, i64 1, i32* %5)
br label %249
158: ; preds = %42
%159 = load i32, i32* %2
%160 = call i32 (i32*, i8*, ...) @fprintf(i32* %5, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.23, i64 0, i64 0), i32 %159, i8* %9)
%161 = call i64 @fwrite(i8* getelementptr inbounds ([99 x i8], [99 x i8]* @.str.92, i64 0, i64 0), i64 98, i64 1, i32* %5)
%162 = call i64 @fwrite(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.93, i64 0, i64 0), i64 94, i64 1, i32* %5)
%163 = call i64 @fwrite(i8* getelementptr inbounds ([103 x i8], [103 x i8]* @.str.94, i64 0, i64 0), i64 102, i64 1, i32* %5)
%164 = call i64 @fwrite(i8* getelementptr inbounds ([99 x i8], [99 x i8]* @.str.95, i64 0, i64 0), i64 98, i64 1, i32* %5)
%165 = call i64 @fwrite(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.96, i64 0, i64 0), i64 42, i64 1, i32* %5)
%166 = call i64 @fwrite(i8* getelementptr inbounds ([90 x i8], [90 x i8]* @.str.97, i64 0, i64 0), i64 89, i64 1, i32* %5)
%167 = call i64 @fwrite(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.98, i64 0, i64 0), i64 39, i64 1, i32* %5)
%168 = call i64 @fwrite(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.99, i64 0, i64 0), i64 84, i64 1, i32* %5)
%169 = call i64 @fwrite(i8* getelementptr inbounds ([79 x i8], [79 x i8]* @.str.100, i64 0, i64 0), i64 78, i64 1, i32* %5)
%170 = call i64 @fwrite(i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.101, i64 0, i64 0), i64 73, i64 1, i32* %5)
%171 = call i64 @fwrite(i8* getelementptr inbounds ([83 x i8], [83 x i8]* @.str.102, i64 0, i64 0), i64 82, i64 1, i32* %5)
%172 = call i64 @fwrite(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.103, i64 0, i64 0), i64 80, i64 1, i32* %5)
%173 = call i64 @fwrite(i8* getelementptr inbounds ([64 x i8], [64 x i8]* @.str.104, i64 0, i64 0), i64 63, i64 1, i32* %5)
br label %249
174: ; preds = %42
%175 = call i64 @fwrite(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.105, i64 0, i64 0), i64 40, i64 1, i32* %5)
%176 = call i64 @fwrite(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.106, i64 0, i64 0), i64 40, i64 1, i32* %5)
%177 = call i64 @fwrite(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.107, i64 0, i64 0), i64 34, i64 1, i32* %5)
%178 = call i64 @fwrite(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.108, i64 0, i64 0), i64 43, i64 1, i32* %5)
%179 = call i64 @fwrite(i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.109, i64 0, i64 0), i64 37, i64 1, i32* %5)
%180 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([35 x i8], [35 x i8]* @str.175, i64 0, i64 0))
%181 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([39 x i8], [39 x i8]* @str.176, i64 0, i64 0))
%182 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([40 x i8], [40 x i8]* @str.177, i64 0, i64 0))
%183 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([36 x i8], [36 x i8]* @str.178, i64 0, i64 0))
%184 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([7 x i8], [7 x i8]* @str.179, i64 0, i64 0))
%185 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([8 x i8], [8 x i8]* @str.180, i64 0, i64 0))
br label %186
186: ; preds = %186, %174
%187 = call i32 @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.19, i64 0, i64 0), i32* %3)
%188 = load i32, i32* %3
%189 = add i32 %188, -3
%190 = icmp ult i32 %189, -2
br i1 %190, label %186, label %191
191: ; preds = %186
%192 = icmp eq i32 %188, 1
br i1 %192, label %193, label %249
193: ; preds = %191
%194 = call i64 @fwrite(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.116, i64 0, i64 0), i64 39, i64 1, i32* %5)
%195 = call i64 @fwrite(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.117, i64 0, i64 0), i64 39, i64 1, i32* %5)
%196 = call i64 @fwrite(i8* getelementptr inbounds ([36 x i8], [36 x i8]* @str.178, i64 0, i64 0), i64 35, i64 1, i32* %5)
br label %249
197: ; preds = %42
%198 = load i32, i32* %2
%199 = call i32 (i32*, i8*, ...) @fprintf(i32* %5, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.23, i64 0, i64 0), i32 %198, i8* %9)
%200 = call i64 @fwrite(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.119, i64 0, i64 0), i64 62, i64 1, i32* %5)
%201 = call i64 @fwrite(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.120, i64 0, i64 0), i64 59, i64 1, i32* %5)
%202 = call i64 @fwrite(i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str.121, i64 0, i64 0), i64 61, i64 1, i32* %5)
%203 = call i64 @fwrite(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.122, i64 0, i64 0), i64 68, i64 1, i32* %5)
%204 = call i64 @fwrite(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.123, i64 0, i64 0), i64 64, i64 1, i32* %5)
%205 = call i64 @fwrite(i8* getelementptr inbounds ([64 x i8], [64 x i8]* @.str.29, i64 0, i64 0), i64 63, i64 1, i32* %5)
%206 = call i64 @fwrite(i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.124, i64 0, i64 0), i64 66, i64 1, i32* %5)
%207 = call i64 @fwrite(i8* getelementptr inbounds ([50 x i8], [50 x i8]* @.str.125, i64 0, i64 0), i64 49, i64 1, i32* %5)
%208 = call i64 @fwrite(i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.126, i64 0, i64 0), i64 65, i64 1, i32* %5)
%209 = call i64 @fwrite(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.127, i64 0, i64 0), i64 68, i64 1, i32* %5)
%210 = call i64 @fwrite(i8* getelementptr inbounds ([79 x i8], [79 x i8]* @.str.128, i64 0, i64 0), i64 78, i64 1, i32* %5)
br label %249
211: ; preds = %42
%212 = load i32, i32* %2
%213 = call i32 (i32*, i8*, ...) @fprintf(i32* %5, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.129, i64 0, i64 0), i32 %212, i8* %9)
%214 = call i64 @fwrite(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.24, i64 0, i64 0), i64 69, i64 1, i32* %5)
%215 = call i64 @fwrite(i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.130, i64 0, i64 0), i64 76, i64 1, i32* %5)
%216 = call i64 @fwrite(i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.90, i64 0, i64 0), i64 66, i64 1, i32* %5)
%217 = call i64 @fwrite(i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.91, i64 0, i64 0), i64 37, i64 1, i32* %5)
%218 = call i64 @fwrite(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.28, i64 0, i64 0), i64 64, i64 1, i32* %5)
%219 = call i64 @fwrite(i8* getelementptr inbounds ([64 x i8], [64 x i8]* @.str.29, i64 0, i64 0), i64 63, i64 1, i32* %5)
%220 = call i64 @fwrite(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.30, i64 0, i64 0), i64 62, i64 1, i32* %5)
%221 = call i64 @fwrite(i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.131, i64 0, i64 0), i64 53, i64 1, i32* %5)
%222 = call i64 @fwrite(i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.132, i64 0, i64 0), i64 73, i64 1, i32* %5)
%223 = call i64 @fwrite(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.33, i64 0, i64 0), i64 69, i64 1, i32* %5)
br label %249
224: ; preds = %42
%225 = call i64 @fwrite(i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.133, i64 0, i64 0), i64 73, i64 1, i32* %5)
%226 = call i64 @fwrite(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.134, i64 0, i64 0), i64 64, i64 1, i32* %5)
%227 = call i64 @fwrite(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.135, i64 0, i64 0), i64 70, i64 1, i32* %5)
%228 = call i64 @fwrite(i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.136, i64 0, i64 0), i64 66, i64 1, i32* %5)
%229 = call i64 @fwrite(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.137, i64 0, i64 0), i64 8, i64 1, i32* %5)
%230 = call i64 @fwrite(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.138, i64 0, i64 0), i64 70, i64 1, i32* %5)
%231 = call i64 @fwrite(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.139, i64 0, i64 0), i64 64, i64 1, i32* %5)
%232 = call i64 @fwrite(i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.140, i64 0, i64 0), i64 71, i64 1, i32* %5)
%233 = call i64 @fwrite(i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str.141, i64 0, i64 0), i64 61, i64 1, i32* %5)
%234 = call i64 @fwrite(i8* getelementptr inbounds ([61 x i8], [61 x i8]* @.str.142, i64 0, i64 0), i64 60, i64 1, i32* %5)
%235 = call i64 @fwrite(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.143, i64 0, i64 0), i64 70, i64 1, i32* %5)
%236 = call i64 @fwrite(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.144, i64 0, i64 0), i64 31, i64 1, i32* %5)
%237 = call i64 @fwrite(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.145, i64 0, i64 0), i64 64, i64 1, i32* %5)
%238 = call i64 @fwrite(i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.146, i64 0, i64 0), i64 67, i64 1, i32* %5)
%239 = call i64 @fwrite(i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.147, i64 0, i64 0), i64 71, i64 1, i32* %5)
%240 = call i64 @fwrite(i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.148, i64 0, i64 0), i64 66, i64 1, i32* %5)
%241 = call i64 @fwrite(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.149, i64 0, i64 0), i64 70, i64 1, i32* %5)
%242 = call i64 @fwrite(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.150, i64 0, i64 0), i64 70, i64 1, i32* %5)
%243 = call i64 @fwrite(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.151, i64 0, i64 0), i64 33, i64 1, i32* %5)
%244 = call i64 @fwrite(i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str.152, i64 0, i64 0), i64 61, i64 1, i32* %5)
br label %249
245: ; preds = %42
%246 = call i64 @fwrite(i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.153, i64 0, i64 0), i64 56, i64 1, i32* %5)
%247 = call i64 @fwrite(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.154, i64 0, i64 0), i64 68, i64 1, i32* %5)
%248 = call i64 @fwrite(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.155, i64 0, i64 0), i64 43, i64 1, i32* %5)
br label %249
249: ; preds = %191, %193, %42, %245, %224, %211, %197, %158, %145, %131, %115, %91, %70, %58, %45
%250 = load i32, i32* @SEEK_SET
%251 = call i32 @fseek(i32* %5, i32 0, i32 %250)
%252 = call i32* @fgets(i8* %9, i32 1000, i32* %5)
%253 = icmp eq i32* %252, null
br i1 %253, label %258, label %254
254: ; preds = %249, %254
%255 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([3 x i8], [3 x i8]* @.str.156, i64 0, i64 0), i8* %9)
%256 = call i32* @fgets(i8* %9, i32 1000, i32* %5)
%257 = icmp eq i32* %256, null
br i1 %257, label %258, label %254
258: ; preds = %254, %249
%259 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([38 x i8], [38 x i8]* @str.174, i64 0, i64 0))
%260 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([27 x i8], [27 x i8]* @.str.158, i64 0, i64 0))
%261 = call i32 @fclose(i32* %5)
br label %262
262: ; preds = %258, %11
ret i32 0
}