{"id":11652,"date":"2018-03-04T14:19:15","date_gmt":"2018-03-04T22:19:15","guid":{"rendered":"http:\/\/www.palada.net\/index.php\/2018\/03\/04\/news-5423\/"},"modified":"2018-03-04T14:19:15","modified_gmt":"2018-03-04T22:19:15","slug":"news-5423","status":"publish","type":"post","link":"http:\/\/www.palada.net\/index.php\/2018\/03\/04\/news-5423\/","title":{"rendered":"beVX Conference Challenge"},"content":{"rendered":"<p><strong>Credit to Author: SSD \/ Noam Rathaus| Date: Sun, 04 Mar 2018 07:27:05 +0000<\/strong><\/p>\n<div class=\"entry-content\">\n<div class=\"pf-content\">\n<p>During the event of OffensiveCon, we launched a reverse engineering and encryption challenge and gave the attendees the change to win great prizes.<\/p>\n<p>The challenge was divided into two parts, a file &#8211; can be downloaded from here: <a href=\"https:\/\/www.beyondsecurity.com\/bevxcon\/bevx-challenge-1\" rel=\"noopener\" target=\"_blank\">https:\/\/www.beyondsecurity.com\/bevxcon\/bevx-challenge-1<\/a> &#8211; that you had to download and reverse engineer and server that you had to access to have a running version of this file.<\/p>\n<p>The challenge could not have been resolved without access to the server as the encryption key that you were supposed to extract was only available in the running version on the server.<\/p>\n<p>We had some great solutions sent to us, some of them were posted below &#8211; some arrived after the deadline, and some were not eligible as their solution was incomplete, but in the end we had three winners.<\/p>\n<p>First place winner got an all paid, flight and hotel, and entry to our security conference beVX in September, second place prize winner got flight and entry to our security conference and the third place winner got a free entry to our event.<br \/> <span id=\"more-3672\"><\/span><br \/> <strong>Challenge Source Code<\/strong><br \/> If you don&#8217;t want to get a solution or hints to how to solve it &#8211; don&#8217;t continue reading &#8211; you have been warned \ud83d\ude42<\/p>\n<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->    \t\t<\/p>\n<div id=\"crayon-5a9c70e22f31c298123553\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\" style=\" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;\">\n<div class=\"crayon-toolbar\" data-settings=\" mouseover overlay hide delay\" style=\"font-size: 12px !important;height: 18px !important; line-height: 18px !important;\"><span class=\"crayon-title\">bevx_lib.cpp<\/span>  \t\t\t<\/p>\n<div class=\"crayon-tools\" style=\"font-size: 12px !important;height: 18px !important; line-height: 18px !important;\">\n<div class=\"crayon-button crayon-nums-button\" title=\"Toggle Line Numbers\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-plain-button\" title=\"Toggle Plain Code\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-wrap-button\" title=\"Toggle Line Wrap\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-expand-button\" title=\"Expand Code\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-copy-button\" title=\"Copy\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-popup-button\" title=\"Open Code In New Window\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"crayon-info\" style=\"min-height: 16.8px !important; line-height: 16.8px !important;\"><\/div>\n<div class=\"crayon-plain-wrap\"><textarea wrap=\"soft\" class=\"crayon-plain print-no\" data-settings=\"dblclick\" readonly style=\"-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;\"> #include &lt;thread&gt;  #include &lt;chrono&gt;  #include &lt;random&gt;    #ifdef _WIN  #define EXPORT __declspec(dllexport)  #else  #define EXPORT  #endif  static const size_t COLS = 0x20;  static const size_t PRIVATE_KEY_ROWS = 3;    char EXPORT private_key[PRIVATE_KEY_ROWS][COLS] = {    0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0,    0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0,    0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1  };  static const size_t MIN_KEY_LENGTH = 3 * COLS;  size_t EXPORT private_key_length = MIN_KEY_LENGTH; \/\/+ 1 + ((unsigned int)std::rand()) % COLS;  size_t EXPORT number_of_rows = 0x10;  static const size_t WAIT_FOR = 800;  static const size_t XOR_KEY = 0xDF098B52;  EXPORT size_t encrypt(size_t num)  {    std::this_thread::sleep_for(std::chrono::milliseconds(WAIT_FOR));    return num ^ XOR_KEY;  }  EXPORT size_t decrypt(size_t num)  {    std::this_thread::sleep_for(std::chrono::milliseconds(WAIT_FOR));    return num ^ XOR_KEY;  }<\/textarea><\/div>\n<div class=\"crayon-main\" style=\"\">  \t\t\t\t  \t\t\t<\/div>\n<\/p><\/div>\n<p>  <!-- [Format Time: 0.0053 seconds] -->  <\/p>\n<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->    \t\t<\/p>\n<div id=\"crayon-5a9c70e22f324748734659\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\" style=\" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;\">\n<div class=\"crayon-toolbar\" data-settings=\" mouseover overlay hide delay\" style=\"font-size: 12px !important;height: 18px !important; line-height: 18px !important;\"><span class=\"crayon-title\">bevx_cha1.cpp<\/span>  \t\t\t<\/p>\n<div class=\"crayon-tools\" style=\"font-size: 12px !important;height: 18px !important; line-height: 18px !important;\">\n<div class=\"crayon-button crayon-nums-button\" title=\"Toggle Line Numbers\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-plain-button\" title=\"Toggle Plain Code\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-wrap-button\" title=\"Toggle Line Wrap\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-expand-button\" title=\"Expand Code\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-copy-button\" title=\"Copy\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-popup-button\" title=\"Open Code In New Window\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"crayon-info\" style=\"min-height: 16.8px !important; line-height: 16.8px !important;\"><\/div>\n<div class=\"crayon-plain-wrap\"><textarea wrap=\"soft\" class=\"crayon-plain print-no\" data-settings=\"dblclick\" readonly style=\"-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;\"> #include &lt;iostream&gt;  #include &lt;thread&gt;  #include &lt;chrono&gt;    #ifdef _WIN  #define IMPORT extern __declspec(dllimport)  #else  #define IMPORT extern  #endif    IMPORT size_t encrypt(size_t num);  IMPORT  size_t decrypt(size_t num);  IMPORT const char private_key[];  IMPORT const size_t private_key_length;  IMPORT const size_t number_of_rows;  class Algo  {  public:    static const size_t ROWS = 0x20;    static const size_t COLS = 0x20;    char table[ROWS][COLS] = { {0} };    char * password;    union    {      struct      {        size_t unused : 3;        size_t init : 1;      } s1;      size_t number_of_rows : 5;    } u1 = {};    struct    {      size_t row : 7;      int i : 7;      char exponent[COLS];      size_t x;    } expo_data = {};    static void StoreNumber(char * row, size_t num, bool enc = true)    {      if (enc)        num = encrypt(num);      for (int i = COLS &#8211; 1; i &gt;= 0; i&#8211;)      {        row[i] = num % 2;        num = num \/ 2;      }    }    static void RetrieveNumber(char * row, size_t&amp; num)    {      num = 0;      for (int i = 0; i &lt; COLS; i++)      {        num = num * 2 + row[i];      }      num = decrypt(num);    }    void Calculate_next()    {      expo_data.x = expo_data.x * expo_data.x;      if (expo_data.exponent[expo_data.i++] == 1)      {        size_t num = 0;        RetrieveNumber(table[expo_data.row], num);        expo_data.x = expo_data.x * num;      }    }    void End_calc()    {      StoreNumber(table[expo_data.row], std::hash&lt;size_t&gt;()(expo_data.x));      u1.s1.init = 0;      u1.s1.init = false;    }    void InitializeExp(size_t row1, size_t row2)    {      std::copy(table[row2], table[row2] + COLS, expo_data.exponent);      expo_data.i = 0;      while (expo_data.exponent[expo_data.i] == 0 &amp;&amp; expo_data.i &lt; COLS)      {        ++expo_data.i;      }      expo_data.x = 1;      expo_data.row = row1;    }    void Multiply(size_t row1, size_t row2, size_t row3)    {      size_t num1 = 0, num2 = 0, num3 = 0;      RetrieveNumber(table[row1], num1);      RetrieveNumber(table[row2], num2);      num3 = num1 * num2;      StoreNumber(table[row3], num3);    }    void Add(size_t row1, size_t row2, size_t row3)    {      size_t num1 = 0, num2 = 0, num3 = 0;      RetrieveNumber(table[row1], num1);      RetrieveNumber(table[row2], num2);      num3 = num1 + num2;      StoreNumber(table[row3], num3);    }    void Sub(size_t row1, size_t row2, size_t row3)    {      size_t num1 = 0, num2 = 0, num3 = 0;      RetrieveNumber(table[row1], num1);      RetrieveNumber(table[row2], num2);      num3 = num1 &#8211; num2;      StoreNumber(table[row3], num3);    }    void Divide(size_t row1, size_t row2, size_t row3)    {      size_t num1 = 0, num2 = 0, num3 = 0;      RetrieveNumber(table[row1], num1);      RetrieveNumber(table[row2], num2);      if (num2 == 0)      {        return;      }      num3 = num1 \/ num2;      StoreNumber(table[row3], num3);    }    bool ValidateRowIndex(size_t row)    {      return (row &lt; u1.number_of_rows);    }    void Encryption()    {      if (expo_data.i &gt; COLS &#8211; 1)      {        End_calc();        return;      }      char op = 0;      std::cout &lt;&lt; &#8220;Continue Encryption? (y\/n)&#8221; &lt;&lt; std::endl;      std::cin &gt;&gt; op;      switch (op)      {      case &#8216;y&#8217;:      case &#8216;Y&#8217;:        Calculate_next();        break;      case &#8216;n&#8217;:      case &#8216;N&#8217;:        End_calc();        break;      }      return;      }    void CopyTable(char t1[ROWS][COLS], char t2[ROWS][COLS])    {      for (unsigned int i = 0; i &lt; ROWS; i++)      {        size_t num = 0;        RetrieveNumber(t1[i], num);        StoreNumber(t2[i], num, false);      }    }    void PrintTable()    {  #ifdef DEBUG      char t[ROWS][COLS] = { 0 };      CopyTable(table, t);      size_t col_size = 0x20;      std::cout &lt;&lt; &#8221; &#8220;;      for (int i = 0; i &lt; col_size; i++)      {        std::cout &lt;&lt; &#8220;&#8211;&#8220;;      }      std::cout &lt;&lt; std::endl;      for (int i = 0; i &lt; u1.number_of_rows; i++)      {        std::cout &lt;&lt; &#8220;&lt;|&#8221;;        for (int j = 0; j &lt; ROWS; j++)        {          std::cout &lt;&lt; (char)((&#8216;0&#8217; + t[i][j])) &lt;&lt; &#8220;|&#8221;;        }        std::cout &lt;&lt; &#8220;&gt;&#8221; &lt;&lt; std::endl;      }      std::cout &lt;&lt; &#8221; &#8220;;      for (int i = 0; i &lt; col_size; i++)      {        std::cout &lt;&lt; &#8220;&#8211;&#8220;;      }      std::cout &lt;&lt; std::endl;  #endif      }      void Init()    {  #ifdef _DEBUG      for (unsigned int i = 0; i &lt; ROWS; i++)      {        StoreNumber(table[i], 0);      }  #endif    }    void MainLoop()    {      bool done = false;      Init();      password = table[number_of_rows + 2];      std::copy(&amp;private_key[0], &amp;private_key[0] + private_key_length, password);      password[private_key_length &#8211; 1] |= 1;      u1.number_of_rows = number_of_rows;      while (!done)      {        if (u1.s1.init)        {          Encryption();          continue;        }        size_t op = 0;        std::cout &lt;&lt; &#8220;Please choose your option:&#8221; &lt;&lt; std::endl;        std::cout &lt;&lt; &#8220;0. Store Number&#8221; &lt;&lt; std::endl;        std::cout &lt;&lt; &#8220;1. Get Number&#8221; &lt;&lt; std::endl;        std::cout &lt;&lt; &#8220;2. Add&#8221; &lt;&lt; std::endl;        std::cout &lt;&lt; &#8220;3. Subtract&#8221; &lt;&lt; std::endl;        std::cout &lt;&lt; &#8220;4. Multiply&#8221; &lt;&lt; std::endl;        std::cout &lt;&lt; &#8220;5. Divide&#8221; &lt;&lt; std::endl;        std::cout &lt;&lt; &#8220;6. Private Key Encryption&#8221; &lt;&lt; std::endl;        std::cout &lt;&lt; &#8220;7. Binary Representation&#8221; &lt;&lt; std::endl;        std::cout &lt;&lt; &#8220;8. Exit&#8221; &lt;&lt; std::endl;        std::cin &gt;&gt; op;        if (!std::cin)        {          done = true;          break;        }        switch (op)        {        case 0:        {          size_t row = 0;          size_t num = 0;          std::cout &lt;&lt; &#8220;Enter row and number&#8221; &lt;&lt; std::endl;          std::cin &gt;&gt; row &gt;&gt; num;          if (!std::cin)          {            done = true;            break;          }          if (!ValidateRowIndex(row))          {            std::cout &lt;&lt; &#8220;Row number is out of range&#8221; &lt;&lt; std::endl;            break;          }          StoreNumber(table[row], num);          break;        }        case 1:        {          size_t row = 0;          size_t num = 0;          std::cout &lt;&lt; &#8220;Enter row&#8221; &lt;&lt; std::endl;          std::cin &gt;&gt; row;          if (!std::cin)          {            done = true;            break;          }          if (!ValidateRowIndex(row))          {            std::cout &lt;&lt; &#8220;Row number is out of range&#8221; &lt;&lt; std::endl;            break;          }          RetrieveNumber(table[row], num);          std::cout &lt;&lt; &#8220;Result is &#8221; &lt;&lt; num &lt;&lt; std::endl;          break;        }        case 2:        {          size_t row1 = 0, row2 = 0, row3 = 0;          std::cout &lt;&lt; &#8220;Enter row of arg1, row of arg2 and row of result&#8221; &lt;&lt; std::endl;          std::cin &gt;&gt; row1 &gt;&gt; row2 &gt;&gt; row3;          if (!std::cin)          {            done = true;            break;          }          if (!(ValidateRowIndex(row1) &amp;&amp; ValidateRowIndex(row2) &amp;&amp; ValidateRowIndex(row3)))          {            std::cout &lt;&lt; &#8220;Row number is out of range&#8221; &lt;&lt; std::endl;            break;          }          Add(row1, row2, row3);          break;        }        case 3:        {          size_t row1 = 0, row2 = 0, row3 = 0;          std::cout &lt;&lt; &#8220;Enter row of arg1, row of arg2 and row of result&#8221; &lt;&lt; std::endl;          std::cin &gt;&gt; row1 &gt;&gt; row2 &gt;&gt; row3;          if (!std::cin)          {            done = true;            break;          }          if (!(ValidateRowIndex(row1) &amp;&amp; ValidateRowIndex(row2) &amp;&amp; ValidateRowIndex(row3)))          {            std::cout &lt;&lt; &#8220;Row number is out of range&#8221; &lt;&lt; std::endl;            break;          }          Sub(row1, row2, row3);          break;        }        case 4:        {          size_t row1 = 0, row2 = 0, row3 = 0;          std::cout &lt;&lt; &#8220;Enter row of arg1, row of arg2 and row of result&#8221; &lt;&lt; std::endl;          std::cin &gt;&gt; row1 &gt;&gt; row2 &gt;&gt; row3;          if (!std::cin)          {            done = true;            break;          }          if (!(ValidateRowIndex(row1) &amp;&amp; ValidateRowIndex(row2) &amp;&amp; ValidateRowIndex(row3)))          {            std::cout &lt;&lt; &#8220;Row number is out of range&#8221; &lt;&lt; std::endl;            break;          }          Multiply(row1, row2, row3);          break;        }        case 5:        {          size_t row1 = 0, row2 = 0, row3 = 0;          std::cout &lt;&lt; &#8220;Enter row of arg1, row of arg2 and row of result&#8221; &lt;&lt; std::endl;          std::cin &gt;&gt; row1 &gt;&gt; row2 &gt;&gt; row3;          if (!std::cin)          {            done = true;            break;          }          if (!(ValidateRowIndex(row1) &amp;&amp; ValidateRowIndex(row2) &amp;&amp; ValidateRowIndex(row3)))          {            std::cout &lt;&lt; &#8220;Row number is out of range&#8221; &lt;&lt; std::endl;            break;          }          Divide(row1, row2, row3);          break;        }        case 6:        {          size_t row1 = 0, row2 = 0;          u1.s1.init = 1;          std::cout &lt;&lt; &#8220;Enter row of message, row of key&#8221; &lt;&lt; std::endl;          std::cin &gt;&gt; row1 &gt;&gt; row2;          if (!std::cin)          {            done = true;            break;          }          if (!(ValidateRowIndex(row1) &amp;&amp; ValidateRowIndex(row2)))          {            u1.s1.init = 0;            std::cout &lt;&lt; &#8220;Row number is out of range&#8221; &lt;&lt; std::endl;            break;          }          InitializeExp(row1, row2);          break;        }        case 7:        {          PrintTable();          break;        }        case 8:        {          done = true;          break;        }        default:        {          std::cout &lt;&lt; &#8220;Unknown option.&#8221; &lt;&lt; std::endl;          break;        }        }      }    }  };    Algo a;  int main()  {    a.MainLoop();    return 0;  }<\/textarea><\/div>\n<div class=\"crayon-main\" style=\"\">\n<table class=\"crayon-table\">\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums\" data-settings=\"show\">\n<div class=\"crayon-nums-content\" style=\"font-size: 12px !important; line-height: 15px !important;\">\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-3\">3<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-5\">5<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-6\">6<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-7\">7<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-8\">8<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-9\">9<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-10\">10<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-11\">11<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-12\">12<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-13\">13<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-14\">14<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-15\">15<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-16\">16<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-17\">17<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-18\">18<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-19\">19<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-20\">20<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-21\">21<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-22\">22<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-23\">23<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-24\">24<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-25\">25<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-26\">26<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-27\">27<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-28\">28<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-29\">29<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-30\">30<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-31\">31<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-32\">32<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-33\">33<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-34\">34<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-35\">35<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-36\">36<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-37\">37<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-38\">38<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-39\">39<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-40\">40<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-41\">41<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-42\">42<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-43\">43<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-44\">44<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-45\">45<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-46\">46<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-47\">47<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-48\">48<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-49\">49<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-50\">50<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-51\">51<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-52\">52<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-53\">53<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-54\">54<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-55\">55<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-56\">56<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-57\">57<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-58\">58<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-59\">59<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-60\">60<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-61\">61<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-62\">62<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-63\">63<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-64\">64<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-65\">65<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-66\">66<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-67\">67<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-68\">68<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-69\">69<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-70\">70<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-71\">71<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-72\">72<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-73\">73<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-74\">74<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-75\">75<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-76\">76<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-77\">77<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-78\">78<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-79\">79<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-80\">80<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-81\">81<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-82\">82<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-83\">83<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-84\">84<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-85\">85<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-86\">86<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-87\">87<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-88\">88<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-89\">89<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-90\">90<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-91\">91<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-92\">92<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-93\">93<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-94\">94<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-95\">95<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-96\">96<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-97\">97<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-98\">98<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-99\">99<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-100\">100<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-101\">101<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-102\">102<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-103\">103<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-104\">104<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-105\">105<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-106\">106<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-107\">107<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-108\">108<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-109\">109<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-110\">110<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-111\">111<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-112\">112<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-113\">113<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-114\">114<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-115\">115<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-116\">116<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-117\">117<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-118\">118<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-119\">119<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-120\">120<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-121\">121<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-122\">122<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-123\">123<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-124\">124<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-125\">125<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-126\">126<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-127\">127<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-128\">128<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-129\">129<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-130\">130<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-131\">131<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-132\">132<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-133\">133<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-134\">134<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-135\">135<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-136\">136<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-137\">137<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-138\">138<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-139\">139<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-140\">140<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-141\">141<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-142\">142<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-143\">143<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-144\">144<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-145\">145<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-146\">146<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-147\">147<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-148\">148<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-149\">149<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-150\">150<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-151\">151<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-152\">152<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-153\">153<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-154\">154<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-155\">155<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-156\">156<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-157\">157<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-158\">158<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-159\">159<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-160\">160<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-161\">161<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-162\">162<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-163\">163<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-164\">164<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-165\">165<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-166\">166<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-167\">167<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-168\">168<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-169\">169<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-170\">170<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-171\">171<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-172\">172<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-173\">173<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-174\">174<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-175\">175<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-176\">176<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-177\">177<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-178\">178<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-179\">179<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-180\">180<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-181\">181<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-182\">182<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-183\">183<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-184\">184<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-185\">185<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-186\">186<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-187\">187<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-188\">188<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-189\">189<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-190\">190<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-191\">191<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-192\">192<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-193\">193<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-194\">194<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-195\">195<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-196\">196<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-197\">197<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-198\">198<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-199\">199<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-200\">200<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-201\">201<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-202\">202<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-203\">203<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-204\">204<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-205\">205<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-206\">206<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-207\">207<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-208\">208<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-209\">209<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-210\">210<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-211\">211<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-212\">212<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-213\">213<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-214\">214<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-215\">215<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-216\">216<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-217\">217<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-218\">218<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-219\">219<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-220\">220<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-221\">221<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-222\">222<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-223\">223<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-224\">224<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-225\">225<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-226\">226<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-227\">227<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-228\">228<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-229\">229<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-230\">230<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-231\">231<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-232\">232<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-233\">233<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-234\">234<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-235\">235<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-236\">236<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-237\">237<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-238\">238<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-239\">239<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-240\">240<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-241\">241<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-242\">242<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-243\">243<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-244\">244<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-245\">245<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-246\">246<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-247\">247<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-248\">248<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-249\">249<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-250\">250<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-251\">251<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-252\">252<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-253\">253<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-254\">254<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-255\">255<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-256\">256<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-257\">257<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-258\">258<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-259\">259<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-260\">260<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-261\">261<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-262\">262<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-263\">263<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-264\">264<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-265\">265<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-266\">266<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-267\">267<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-268\">268<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-269\">269<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-270\">270<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-271\">271<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-272\">272<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-273\">273<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-274\">274<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-275\">275<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-276\">276<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-277\">277<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-278\">278<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-279\">279<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-280\">280<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-281\">281<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-282\">282<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-283\">283<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-284\">284<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-285\">285<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-286\">286<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-287\">287<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-288\">288<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-289\">289<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-290\">290<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-291\">291<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-292\">292<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-293\">293<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-294\">294<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-295\">295<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-296\">296<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-297\">297<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-298\">298<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-299\">299<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-300\">300<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-301\">301<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-302\">302<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-303\">303<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-304\">304<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-305\">305<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-306\">306<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-307\">307<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-308\">308<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-309\">309<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-310\">310<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-311\">311<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-312\">312<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-313\">313<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-314\">314<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-315\">315<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-316\">316<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-317\">317<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-318\">318<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-319\">319<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-320\">320<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-321\">321<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-322\">322<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-323\">323<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-324\">324<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-325\">325<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-326\">326<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-327\">327<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-328\">328<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-329\">329<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-330\">330<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-331\">331<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-332\">332<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-333\">333<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-334\">334<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-335\">335<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-336\">336<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-337\">337<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-338\">338<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-339\">339<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-340\">340<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-341\">341<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-342\">342<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-343\">343<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-344\">344<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-345\">345<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-346\">346<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-347\">347<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-348\">348<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-349\">349<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-350\">350<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-351\">351<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-352\">352<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-353\">353<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-354\">354<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-355\">355<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-356\">356<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-357\">357<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-358\">358<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-359\">359<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-360\">360<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-361\">361<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-362\">362<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-363\">363<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-364\">364<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-365\">365<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-366\">366<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-367\">367<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-368\">368<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-369\">369<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-370\">370<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-371\">371<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-372\">372<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-373\">373<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-374\">374<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-375\">375<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-376\">376<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-377\">377<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-378\">378<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-379\">379<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-380\">380<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-381\">381<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-382\">382<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-383\">383<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-384\">384<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-385\">385<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-386\">386<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f324748734659-387\">387<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f324748734659-388\">388<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\" style=\"font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;\">\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-1\"><span class=\"crayon-p\">#include &lt;iostream&gt;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-2\"><span class=\"crayon-p\">#include &lt;thread&gt;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-3\"><span class=\"crayon-p\">#include &lt;chrono&gt;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-4\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-5\"><span class=\"crayon-p\">#ifdef _WIN<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-6\"><span class=\"crayon-p\">#define IMPORT extern __declspec(dllimport)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-7\"><span class=\"crayon-p\">#else<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-8\"><span class=\"crayon-p\">#define IMPORT extern<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-9\"><span class=\"crayon-p\">#endif<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-10\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-11\"><span class=\"crayon-e\">IMPORT <\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-e\">encrypt<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">num<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-12\"><span class=\"crayon-e\">IMPORT&nbsp;&nbsp;<\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-e\">decrypt<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">num<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-13\"><span class=\"crayon-e\">IMPORT <\/span><span class=\"crayon-m\">const<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-t\">char<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">private_key<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-14\"><span class=\"crayon-e\">IMPORT <\/span><span class=\"crayon-m\">const<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">private_key_length<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-15\"><span class=\"crayon-e\">IMPORT <\/span><span class=\"crayon-m\">const<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">number_of_rows<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-16\"><span class=\"crayon-t\">class<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">Algo<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-17\"><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-18\"><span class=\"crayon-m\">public<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-19\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-m\">static<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-m\">const<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">ROWS<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0x20<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-20\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-m\">static<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-m\">const<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">COLS<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0x20<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-21\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-t\">char<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">table<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">ROWS<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">COLS<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">{<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">{<\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">}<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">}<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-22\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-t\">char<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">*<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">password<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-23\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-e\">union<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-24\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-25\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-t\">struct<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-26\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-27\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">unused<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">3<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-28\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">init<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">1<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-29\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">s1<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-30\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">number_of_rows<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">5<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-31\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">u1<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">{<\/span><span class=\"crayon-sy\">}<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-32\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-t\">struct<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-33\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-34\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">row<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">7<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-35\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-t\">int<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">7<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-36\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-t\">char<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">exponent<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">COLS<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-37\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">size<\/span><span class=\"crayon-sy\">_<\/span>t<span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">x<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-38\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">expo_data<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">{<\/span><span class=\"crayon-sy\">}<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-39\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-m\">static<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-t\">void<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">StoreNumber<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-t\">char<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">*<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">num<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-t\">bool<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">enc<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-t\">true<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-40\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-41\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">enc<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-42\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">num<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">encrypt<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">num<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-43\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">for<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-t\">int<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">COLS<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">1<\/span><span class=\"crayon-sy\">;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&gt;=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-o\">&#8212;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-44\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-45\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">row<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">%<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">2<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-46\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">num<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">2<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-47\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-48\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-49\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-m\">static<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-t\">void<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">RetrieveNumber<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-t\">char<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">*<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">size_t<\/span><span class=\"crayon-o\">&amp;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-50\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-51\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">num<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-52\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">for<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-t\">int<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">COLS<\/span><span class=\"crayon-sy\">;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-o\">++<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-53\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-54\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">num<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">num *<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">2<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">+<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-55\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-56\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">num<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">decrypt<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">num<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-57\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-58\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-t\">void<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">Calculate_next<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-59\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-60\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">expo_data<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">x<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">expo_data<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">x *<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">expo_data<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">x<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-61\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">expo_data<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">exponent<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">expo_data<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-o\">++<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">==<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">1<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-62\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-63\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">num<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-64\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">RetrieveNumber<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">table<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">expo_data<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">row<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-65\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">expo_data<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">x<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">expo_data<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">x *<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-66\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-67\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-68\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-t\">void<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">End_calc<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-69\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-70\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">StoreNumber<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">table<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">expo_data<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">row<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">hash<\/span><span class=\"crayon-o\">&lt;<\/span><span class=\"crayon-v\">size_t<\/span><span class=\"crayon-o\">&gt;<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">expo_data<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">x<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-71\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">u1<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">s1<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">init<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-72\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">u1<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">s1<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">init<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-t\">false<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-73\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-74\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-t\">void<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">InitializeExp<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">row1<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">row2<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-75\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-76\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-e\">copy<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">table<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">row2<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">table<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">row2<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">+<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">COLS<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">expo_data<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">exponent<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-77\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">expo_data<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-78\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">while<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">expo_data<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">exponent<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">expo_data<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">==<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&amp;&amp;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">expo_data<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">COLS<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-79\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-80\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-o\">++<\/span><span class=\"crayon-v\">expo_data<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-81\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-82\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">expo_data<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">x<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">1<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-83\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">expo_data<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">row<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row1<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-84\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-85\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-t\">void<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">Multiply<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">row1<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">row2<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">row3<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-86\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-87\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">num1<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num2<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num3<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-88\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">RetrieveNumber<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">table<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">row1<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num1<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-89\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">RetrieveNumber<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">table<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">row2<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num2<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-90\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">num3<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">num1 *<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num2<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-91\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">StoreNumber<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">table<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">row3<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num3<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-92\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-93\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-t\">void<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">Add<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">row1<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">row2<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">row3<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-94\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-95\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">num1<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num2<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num3<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-96\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">RetrieveNumber<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">table<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">row1<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num1<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-97\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">RetrieveNumber<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">table<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">row2<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num2<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-98\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">num3<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num1<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">+<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num2<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-99\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">StoreNumber<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">table<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">row3<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num3<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-100\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-101\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-t\">void<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">Sub<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">row1<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">row2<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">row3<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-102\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-103\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">num1<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num2<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num3<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-104\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">RetrieveNumber<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">table<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">row1<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num1<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-105\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">RetrieveNumber<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">table<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">row2<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num2<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-106\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">num3<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num1<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num2<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-107\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">StoreNumber<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">table<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">row3<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num3<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-108\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-109\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-t\">void<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">Divide<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">row1<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">row2<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">row3<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-110\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-111\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">num1<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num2<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num3<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-112\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">RetrieveNumber<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">table<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">row1<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num1<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-113\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">RetrieveNumber<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">table<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">row2<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num2<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-114\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">num2<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">==<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-115\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-116\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">return<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-117\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-118\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">num3<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num1<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num2<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-119\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">StoreNumber<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">table<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">row3<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num3<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-120\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-121\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-t\">bool<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">ValidateRowIndex<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">row<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-122\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-123\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">return<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">row<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">u1<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">number_of_rows<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-124\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-125\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-t\">void<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">Encryption<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-126\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-127\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">expo_data<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&gt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">COLS<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">1<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-128\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-129\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">End_calc<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-130\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">return<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-131\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-132\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-t\">char<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">op<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-133\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cout<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;Continue Encryption? (y\/n)&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">endl<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-134\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cin<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&gt;&gt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">op<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-135\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">switch<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">op<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-136\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-137\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">case<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;y&#8217;<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-138\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">case<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;Y&#8217;<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-139\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">Calculate_next<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-140\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">break<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-141\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">case<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;n&#8217;<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-142\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">case<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;N&#8217;<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-143\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">End_calc<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-144\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">break<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-145\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-146\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">return<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-147\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-148\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-149\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-t\">void<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">CopyTable<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-t\">char<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">t1<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">ROWS<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">COLS<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-t\">char<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">t2<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">ROWS<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">COLS<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-150\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-151\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">for<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-t\">unsigned<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-t\">int<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">ROWS<\/span><span class=\"crayon-sy\">;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-o\">++<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-152\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-153\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">num<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-154\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">RetrieveNumber<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">t1<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-155\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">StoreNumber<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">t2<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-t\">false<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-156\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-157\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-158\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-t\">void<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">PrintTable<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-159\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-160\"><span class=\"crayon-p\">#ifdef DEBUG<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-161\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-t\">char<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">t<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">ROWS<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">COLS<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">{<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">}<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-162\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">CopyTable<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">table<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">t<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-163\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">col_size<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0x20<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-164\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cout<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8221; &#8220;<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-165\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">for<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-t\">int<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">col_size<\/span><span class=\"crayon-sy\">;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-o\">++<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-166\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-167\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cout<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;&#8211;&#8220;<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-168\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-169\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cout<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">endl<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-170\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">for<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-t\">int<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">u1<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">number_of_rows<\/span><span class=\"crayon-sy\">;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-o\">++<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-171\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-172\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cout<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;&lt;|&#8221;<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-173\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">for<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-t\">int<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">j<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">j<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">ROWS<\/span><span class=\"crayon-sy\">;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">j<\/span><span class=\"crayon-o\">++<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-174\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-175\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cout<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-t\">char<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8216;0&#8217;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">+<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">t<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">j<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;|&#8221;<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-176\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-177\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cout<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;&gt;&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">endl<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-178\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-179\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cout<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8221; &#8220;<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-180\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">for<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-t\">int<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">col_size<\/span><span class=\"crayon-sy\">;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-o\">++<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-181\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-182\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cout<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;&#8211;&#8220;<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-183\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-184\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cout<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">endl<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-185\"><span class=\"crayon-p\">#endif<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-186\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-187\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-188\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-189\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-t\">void<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">Init<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-190\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-191\"><span class=\"crayon-p\">#ifdef _DEBUG<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-192\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">for<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-t\">unsigned<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-t\">int<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">ROWS<\/span><span class=\"crayon-sy\">;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-o\">++<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-193\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-194\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">StoreNumber<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">table<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-195\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-196\"><span class=\"crayon-p\">#endif<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-197\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-198\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-t\">void<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">MainLoop<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-199\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-200\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-t\">bool<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">done<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-t\">false<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-201\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">Init<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-202\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">password<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">table<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">number_of_rows<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">+<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">2<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-203\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-e\">copy<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-o\">&amp;<\/span><span class=\"crayon-v\">private_key<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&amp;<\/span><span class=\"crayon-v\">private_key<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">+<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">private_key_length<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">password<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-204\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">password<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">private_key_length<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">1<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">|=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">1<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-205\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">u1<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">number_of_rows<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">number_of_rows<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-206\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">while<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-o\">!<\/span><span class=\"crayon-v\">done<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-207\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-208\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">u1<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">s1<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">init<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-209\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-210\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">Encryption<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-211\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">continue<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-212\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-213\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">op<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-214\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cout<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;Please choose your option:&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">endl<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-215\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cout<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;0. Store Number&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">endl<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-216\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cout<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;1. Get Number&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">endl<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-217\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cout<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;2. Add&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">endl<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-218\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cout<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;3. Subtract&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">endl<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-219\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cout<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;4. Multiply&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">endl<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-220\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cout<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;5. Divide&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">endl<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-221\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cout<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;6. Private Key Encryption&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">endl<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-222\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cout<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;7. Binary Representation&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">endl<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-223\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cout<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;8. Exit&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">endl<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-224\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cin<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&gt;&gt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">op<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-225\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-o\">!<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cin<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-226\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-227\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">done<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-t\">true<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-228\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">break<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-229\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-230\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">switch<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">op<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-231\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-232\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">case<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-233\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-234\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">row<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-235\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">num<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-236\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cout<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;Enter row and number&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">endl<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-237\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cin<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&gt;&gt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&gt;&gt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-238\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-o\">!<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cin<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-239\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-240\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">done<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-t\">true<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-241\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">break<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-242\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-243\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-o\">!<\/span><span class=\"crayon-e\">ValidateRowIndex<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">row<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-244\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-245\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cout<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;Row number is out of range&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">endl<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-246\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">break<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-247\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-248\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">StoreNumber<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">table<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">row<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-249\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">break<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-250\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-251\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">case<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">1<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-252\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-253\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">row<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-254\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">num<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-255\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cout<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;Enter row&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">endl<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-256\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cin<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&gt;&gt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-257\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-o\">!<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cin<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-258\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-259\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">done<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-t\">true<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-260\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">break<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-261\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-262\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-o\">!<\/span><span class=\"crayon-e\">ValidateRowIndex<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">row<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-263\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-264\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cout<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;Row number is out of range&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">endl<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-265\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">break<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-266\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-267\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">RetrieveNumber<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">table<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">row<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-268\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cout<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;Result is &#8220;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">endl<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-269\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">break<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-270\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-271\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">case<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">2<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-272\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-273\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">row1<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row2<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row3<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-274\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cout<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;Enter row of arg1, row of arg2 and row of result&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">endl<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-275\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cin<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&gt;&gt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row1<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&gt;&gt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row2<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&gt;&gt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row3<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-276\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-o\">!<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cin<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-277\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-278\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">done<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-t\">true<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-279\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">break<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-280\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-281\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-o\">!<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-e\">ValidateRowIndex<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">row1<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&amp;&amp;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">ValidateRowIndex<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">row2<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&amp;&amp;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">ValidateRowIndex<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">row3<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-282\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-283\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cout<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;Row number is out of range&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">endl<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-284\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">break<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-285\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-286\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">Add<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">row1<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row2<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row3<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-287\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">break<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-288\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-289\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">case<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">3<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-290\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-291\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">row1<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row2<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row3<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-292\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cout<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;Enter row of arg1, row of arg2 and row of result&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">endl<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-293\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cin<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&gt;&gt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row1<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&gt;&gt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row2<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&gt;&gt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row3<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-294\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-o\">!<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cin<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-295\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-296\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">done<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-t\">true<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-297\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">break<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-298\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-299\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-o\">!<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-e\">ValidateRowIndex<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">row1<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&amp;&amp;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">ValidateRowIndex<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">row2<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&amp;&amp;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">ValidateRowIndex<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">row3<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-300\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-301\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cout<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;Row number is out of range&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">endl<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-302\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">break<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-303\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-304\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">Sub<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">row1<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row2<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row3<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-305\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">break<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-306\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-307\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">case<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">4<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-308\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-309\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">row1<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row2<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row3<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-310\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cout<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;Enter row of arg1, row of arg2 and row of result&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">endl<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-311\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cin<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&gt;&gt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row1<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&gt;&gt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row2<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&gt;&gt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row3<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-312\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-o\">!<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cin<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-313\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-314\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">done<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-t\">true<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-315\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">break<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-316\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-317\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-o\">!<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-e\">ValidateRowIndex<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">row1<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&amp;&amp;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">ValidateRowIndex<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">row2<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&amp;&amp;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">ValidateRowIndex<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">row3<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-318\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-319\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cout<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;Row number is out of range&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">endl<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-320\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">break<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-321\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-322\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">Multiply<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">row1<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row2<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row3<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-323\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">break<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-324\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-325\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">case<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">5<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-326\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-327\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">row1<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row2<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row3<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-328\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cout<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;Enter row of arg1, row of arg2 and row of result&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">endl<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-329\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cin<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&gt;&gt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row1<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&gt;&gt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row2<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&gt;&gt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row3<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-330\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-o\">!<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cin<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-331\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-332\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">done<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-t\">true<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-333\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">break<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-334\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-335\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-o\">!<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-e\">ValidateRowIndex<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">row1<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&amp;&amp;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">ValidateRowIndex<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">row2<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&amp;&amp;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">ValidateRowIndex<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">row3<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-336\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-337\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cout<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;Row number is out of range&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">endl<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-338\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">break<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-339\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-340\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">Divide<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">row1<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row2<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row3<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-341\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">break<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-342\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-343\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">case<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">6<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-344\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-345\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">size_t <\/span><span class=\"crayon-v\">row1<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row2<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-346\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">u1<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">s1<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">init<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">1<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-347\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cout<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;Enter row of message, row of key&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">endl<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-348\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cin<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&gt;&gt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row1<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&gt;&gt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row2<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-349\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-o\">!<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cin<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-350\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-351\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">done<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-t\">true<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-352\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">break<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-353\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-354\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-o\">!<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-e\">ValidateRowIndex<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">row1<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&amp;&amp;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">ValidateRowIndex<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">row2<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-355\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-356\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">u1<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">s1<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">init<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-357\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cout<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;Row number is out of range&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">endl<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-358\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">break<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-359\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-360\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">InitializeExp<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">row1<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row2<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-361\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">break<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-362\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-363\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">case<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">7<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-364\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-365\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">PrintTable<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-366\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">break<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-367\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-368\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">case<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">8<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-369\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-370\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">done<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-t\">true<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-371\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">break<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-372\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-373\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">default<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-374\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-375\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">cout<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;Unknown option.&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">::<\/span><span class=\"crayon-v\">endl<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-376\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">break<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-377\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-378\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-379\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-380\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-381\"><span class=\"crayon-sy\">}<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-382\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-383\"><span class=\"crayon-i\">Algo<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">a<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-384\"><span class=\"crayon-t\">int<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">main<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-385\"><span class=\"crayon-sy\">{<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-386\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-v\">a<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">MainLoop<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f324748734659-387\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-st\">return<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f324748734659-388\"><span class=\"crayon-sy\">}<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/table><\/div>\n<\/p><\/div>\n<p>  <!-- [Format Time: 0.0357 seconds] -->  <\/p>\n<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->    \t\t<\/p>\n<div id=\"crayon-5a9c70e22f331096499339\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\" style=\" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;\">\n<div class=\"crayon-toolbar\" data-settings=\" mouseover overlay hide delay\" style=\"font-size: 12px !important;height: 18px !important; line-height: 18px !important;\"><span class=\"crayon-title\">Makefile<\/span>  \t\t\t<\/p>\n<div class=\"crayon-tools\" style=\"font-size: 12px !important;height: 18px !important; line-height: 18px !important;\">\n<div class=\"crayon-button crayon-nums-button\" title=\"Toggle Line Numbers\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-plain-button\" title=\"Toggle Plain Code\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-wrap-button\" title=\"Toggle Line Wrap\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-expand-button\" title=\"Expand Code\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-copy-button\" title=\"Copy\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-popup-button\" title=\"Open Code In New Window\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"crayon-info\" style=\"min-height: 16.8px !important; line-height: 16.8px !important;\"><\/div>\n<div class=\"crayon-plain-wrap\"><textarea wrap=\"soft\" class=\"crayon-plain print-no\" data-settings=\"dblclick\" readonly style=\"-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;\"> .PHONY: all clean    CCFLAGS=-std=c++11 -s -Os  OUT_DIR=$(PWD)\/build\/    all: out_dir bevx_cha1    bevx_lib.so: bevx_lib.o          g++ -shared -o build\/bevx_lib.so build\/bevx_lib.o    bevx_lib.o: out_dir bevx_lib.cpp          g++ $(CCFLAGS) -fPIC -c bevx_lib.cpp -o build\/bevx_lib.o    bevx_cha1: bevx_cha1.cpp bevx_lib.so          g++ -o build\/bevx_cha1 $(CCFLAGS) bevx_cha1.cpp -L$(OUT_DIR) -l:.\/bevx_lib.so -lstdc++    out_dir:          mkdir -p $(OUT_DIR)  clean:          rm -rf build\/<\/textarea><\/div>\n<div class=\"crayon-main\" style=\"\">\n<table class=\"crayon-table\">\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums\" data-settings=\"show\">\n<div class=\"crayon-nums-content\" style=\"font-size: 12px !important; line-height: 15px !important;\">\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f331096499339-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f331096499339-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f331096499339-3\">3<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f331096499339-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f331096499339-5\">5<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f331096499339-6\">6<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f331096499339-7\">7<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f331096499339-8\">8<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f331096499339-9\">9<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f331096499339-10\">10<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f331096499339-11\">11<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f331096499339-12\">12<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f331096499339-13\">13<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f331096499339-14\">14<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f331096499339-15\">15<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f331096499339-16\">16<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f331096499339-17\">17<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f331096499339-18\">18<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f331096499339-19\">19<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f331096499339-20\">20<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\" style=\"font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;\">\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f331096499339-1\"><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">PHONY<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">all <\/span><span class=\"crayon-e\">clean<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f331096499339-2\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f331096499339-3\"><span class=\"crayon-v\">CCFLAGS<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">std<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-v\">c<\/span><span class=\"crayon-o\">++<\/span><span class=\"crayon-cn\">11<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">s<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-e\">Os<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f331096499339-4\"><span class=\"crayon-v\">OUT_DIR<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-sy\">$<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">PWD<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">build<\/span><span class=\"crayon-o\">\/<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f331096499339-5\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f331096499339-6\"><span class=\"crayon-v\">all<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">out_dir <\/span><span class=\"crayon-e\">bevx_cha1<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f331096499339-7\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f331096499339-8\"><span class=\"crayon-v\">bevx_lib<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">so<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">bevx_lib<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-i\">o<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f331096499339-9\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">g<\/span><span class=\"crayon-o\">++<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">shared<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-i\">o<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">build<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">bevx_lib<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">so <\/span><span class=\"crayon-v\">build<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">bevx_lib<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-i\">o<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f331096499339-10\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f331096499339-11\"><span class=\"crayon-v\">bevx_lib<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">o<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">out_dir <\/span><span class=\"crayon-v\">bevx_lib<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-i\">cpp<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f331096499339-12\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">g<\/span><span class=\"crayon-o\">++<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">$<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">CCFLAGS<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">fPIC<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-i\">c<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">bevx_lib<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">cpp<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-i\">o<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">build<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">bevx_lib<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-i\">o<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f331096499339-13\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f331096499339-14\"><span class=\"crayon-v\">bevx_cha1<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">bevx_cha1<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">cpp <\/span><span class=\"crayon-v\">bevx_lib<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-i\">so<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f331096499339-15\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">g<\/span><span class=\"crayon-o\">++<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-i\">o<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">build<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">bevx<\/span><span class=\"crayon-sy\">_<\/span>cha1<span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">$<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">CCFLAGS<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">bevx_cha1<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">cpp<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">L<\/span><span class=\"crayon-sy\">$<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">OUT_DIR<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">l<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">bevx_lib<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">so<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">lstdc<\/span><span class=\"crayon-o\">++<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f331096499339-16\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f331096499339-17\"><span class=\"crayon-v\">out_dir<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f331096499339-18\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">mkdir<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-i\">p<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">$<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">OUT_DIR<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f331096499339-19\"><span class=\"crayon-v\">clean<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f331096499339-20\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">rm<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-e\">rf <\/span><span class=\"crayon-v\">build<\/span><span class=\"crayon-o\">\/<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/table><\/div>\n<\/p><\/div>\n<p>  <!-- [Format Time: 0.0023 seconds] -->  <\/p>\n<p><strong>Solution (Tim)<\/strong><br \/> The &#8220;encryption&#8221; routine operates on 1 bit of the key at a time, modifying an internal ongoing value each step. If the bit is a zero then this value is squared. If the bit is a one then the value is squared and then further multiplied by the value of the &#8220;message&#8221; that is selected to encrypt.<\/p>\n<p>Because you can stop the encryption at any point, you can encrypt progressively more of the message, allowed each bit to be extracted by comparing the result with the result for the previous number of bits.<\/p>\n<p>Script output: <\/p>\n<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->    \t\t<\/p>\n<div id=\"crayon-5a9c70e22f335308623757\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\" style=\" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;\">\n<div class=\"crayon-toolbar\" data-settings=\" mouseover overlay hide delay\" style=\"font-size: 12px !important;height: 18px !important; line-height: 18px !important;\"><span class=\"crayon-title\"><\/span>  \t\t\t<\/p>\n<div class=\"crayon-tools\" style=\"font-size: 12px !important;height: 18px !important; line-height: 18px !important;\">\n<div class=\"crayon-button crayon-nums-button\" title=\"Toggle Line Numbers\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-plain-button\" title=\"Toggle Plain Code\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-wrap-button\" title=\"Toggle Line Wrap\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-expand-button\" title=\"Expand Code\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-copy-button\" title=\"Copy\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-popup-button\" title=\"Open Code In New Window\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"crayon-info\" style=\"min-height: 16.8px !important; line-height: 16.8px !important;\"><\/div>\n<div class=\"crayon-plain-wrap\"><textarea wrap=\"soft\" class=\"crayon-plain print-no\" data-settings=\"dblclick\" readonly style=\"-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;\"> [+] Connecting to x.x.x.x on port 22: Done  [+] Opening new channel: &#8216;shell&#8217;: Done  [*] Bit 0 result: 0x1  [*] Key: 0  [*] Bit 1 result: 0x11  [*] Key: 01  [*] Bit 2 result: 0x1331  &#8230;.  [*] Bit 28 result: 0xb11e13b1  [*] Key: 01100010011001010101011001011  [*] Bit 29 result: 0x60ffc061  [*] Key: 011000100110010101010110010110  [*] Bit 30 result: 0x91cfa4c1  [*] Key: 0110001001100101010101100101100<\/textarea><\/div>\n<div class=\"crayon-main\" style=\"\">\n<table class=\"crayon-table\">\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums\" data-settings=\"show\">\n<div class=\"crayon-nums-content\" style=\"font-size: 12px !important; line-height: 15px !important;\">\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f335308623757-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f335308623757-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f335308623757-3\">3<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f335308623757-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f335308623757-5\">5<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f335308623757-6\">6<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f335308623757-7\">7<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f335308623757-8\">8<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f335308623757-9\">9<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f335308623757-10\">10<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f335308623757-11\">11<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f335308623757-12\">12<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f335308623757-13\">13<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f335308623757-14\">14<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\" style=\"font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;\">\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f335308623757-1\"><span class=\"crayon-sy\">[<\/span><span class=\"crayon-o\">+<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">Connecting <\/span><span class=\"crayon-st\">to<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">x<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">x<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">x<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-i\">x<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">on <\/span><span class=\"crayon-i\">port<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">22<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">Done<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f335308623757-2\"><span class=\"crayon-sy\">[<\/span><span class=\"crayon-o\">+<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">Opening <\/span><span class=\"crayon-r\">new<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">channel<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;shell&#8217;<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">Done<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f335308623757-3\"><span class=\"crayon-sy\">[<\/span><span class=\"crayon-o\">*<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">Bit<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">result<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0x1<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f335308623757-4\"><span class=\"crayon-sy\">[<\/span><span class=\"crayon-o\">*<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">Key<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f335308623757-5\"><span class=\"crayon-sy\">[<\/span><span class=\"crayon-o\">*<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">Bit<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">1<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">result<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0x11<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f335308623757-6\"><span class=\"crayon-sy\">[<\/span><span class=\"crayon-o\">*<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">Key<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">01<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f335308623757-7\"><span class=\"crayon-sy\">[<\/span><span class=\"crayon-o\">*<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">Bit<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">2<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">result<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0x1331<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f335308623757-8\"><span class=\"crayon-sy\">.<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-sy\">.<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f335308623757-9\"><span class=\"crayon-sy\">[<\/span><span class=\"crayon-o\">*<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">Bit<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">28<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">result<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0xb11e13b1<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f335308623757-10\"><span class=\"crayon-sy\">[<\/span><span class=\"crayon-o\">*<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">Key<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">01100010011001010101011001011<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f335308623757-11\"><span class=\"crayon-sy\">[<\/span><span class=\"crayon-o\">*<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">Bit<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">29<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">result<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0x60ffc061<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f335308623757-12\"><span class=\"crayon-sy\">[<\/span><span class=\"crayon-o\">*<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">Key<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">011000100110010101010110010110<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f335308623757-13\"><span class=\"crayon-sy\">[<\/span><span class=\"crayon-o\">*<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">Bit<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">30<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">result<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0x91cfa4c1<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f335308623757-14\"><span class=\"crayon-sy\">[<\/span><span class=\"crayon-o\">*<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">Key<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0110001001100101010101100101100<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/table><\/div>\n<\/p><\/div>\n<p>  <!-- [Format Time: 0.0020 seconds] -->  <\/p>\n<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->    \t\t<\/p>\n<div id=\"crayon-5a9c70e22f338828480524\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\" style=\" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;\">\n<div class=\"crayon-toolbar\" data-settings=\" mouseover overlay hide delay\" style=\"font-size: 12px !important;height: 18px !important; line-height: 18px !important;\"><span class=\"crayon-title\"><\/span>  \t\t\t<\/p>\n<div class=\"crayon-tools\" style=\"font-size: 12px !important;height: 18px !important; line-height: 18px !important;\">\n<div class=\"crayon-button crayon-nums-button\" title=\"Toggle Line Numbers\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-plain-button\" title=\"Toggle Plain Code\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-wrap-button\" title=\"Toggle Line Wrap\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-expand-button\" title=\"Expand Code\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-copy-button\" title=\"Copy\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-popup-button\" title=\"Open Code In New Window\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<p><span class=\"crayon-language\">Python<\/span><\/div>\n<\/div>\n<div class=\"crayon-info\" style=\"min-height: 16.8px !important; line-height: 16.8px !important;\"><\/div>\n<div class=\"crayon-plain-wrap\"><textarea wrap=\"soft\" class=\"crayon-plain print-no\" data-settings=\"dblclick\" readonly style=\"-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;\"> #!\/usr\/bin\/env python2    # beVX Challenge 1 exploit script  # &#8211; timpwn    import pwn          # pip install pwn  import logging    remote = True    # pwn.context.log_level = logging.DEBUG      def set_value(row, value):      r.sendline(&#8220;0&#8221;)      r.sendline(str(row))      r.sendline(str(value))        r.readuntil(prompt)      def get_value(row):      r.sendline(&#8220;1&#8221;)      r.readline()      r.sendline(str(row))      r.readuntil(&#8220;Result is &#8220;)      response = r.readline()        value = int(response)        r.readuntil(prompt)        return value      def encrypt(message_row, key_row, bit_count):      r.sendline(&#8220;6&#8221;)      r.readline()      r.sendline(str(message_row))      r.sendline(str(key_row))        continue_prompt = &#8220;Continue Encryption? (y\/n)&#8221;        r.readuntil(continue_prompt)      r.readline()        for i in range(bit_count):          r.sendline(&#8220;y&#8221;)          response = r.readline().strip()            # The remote system echoes our input back          if response == &#8220;y&#8221;:              response = r.readline().strip()            if response != continue_prompt:              pwn.log.debug(&#8220;No more encryption at bit {}&#8221;.format(i))              r.readuntil(prompt)              return        r.sendline(&#8220;n&#8221;)        r.readuntil(prompt)      def decode_key_row(row):      result = &#8220;&#8221;        previous_value = 1        # Get data out for incremental encryption key bits      p = pwn.log.progress(&#8220;Reading row {}&#8221;.format(row))      for bit in range(0, 32):          # Encrypt 0x11 using the key in the row specified          p.status(&#8220;Getting bit {}&#8221;.format(bit))          multiplier = 0x11          set_value(0, multiplier)          encrypt(0, row, bit)          v = get_value(0)            pwn.log.debug(&#8220;Bit {} result: 0x{:x}&#8221;.format(bit, v))            # See if our multiplier has been used, which indicates that          # the key has a &#8220;1&#8221; in this position          previous_squared = previous_value * previous_value          if v == previous_squared &amp; 0xffffffff:              result += &#8220;0&#8221;          elif v == (previous_squared * multiplier) &amp; 0xffffffff:              result += &#8220;1&#8221;          elif v == previous_value:              # This means that we&#8217;ve gone past the end of the key,              # so now we know that the first N bits were zeroes              break          else:              pwn.log.warn(&#8220;Unexpected value!&#8221;)              result += &#8220;?&#8221;            pwn.log.debug(&#8220;Progress: &#8221; + result)            previous_value = v        # Add the zeroes that we didn&#8217;t get to see at the start of the key      result = (&#8220;0&#8221; * (32-len(result))) + result        p.success(&#8220;Got row, value: &#8221; + result)        return result      def connect():      if remote:          ssh = pwn.ssh(user=&#8221;challenge&#8221;,                        host=&#8221;x.x.x.x&#8221;,                        password=&#8221;challenge&#8221;)            r = ssh.shell()            prompt = &#8220;8. Exitrn&#8221;        else:          r = pwn.process(&#8220;.\/cha1&#8221;)          prompt = &#8220;8. Exitn&#8221;        return (r, prompt)      r, prompt = connect()  r.readuntil(prompt)    # We can get rows 18-20 ok, after which no encryption cycles are possible &#8211;  # this is most likely because the rows are all zeroes.  rows_bits = list()  for row in range(18, 21):      partial_key = decode_key_row(row)      rows_bits.append(partial_key)    # Pad out and combine the key parts  combined = &#8220;&#8221;  for r in rows_bits:      padded = (&#8220;0&#8221; * (32 &#8211; len(r))) + r      print &#8220;Row value:&#8221;, hex(int(padded, 2))        combined += &#8220;{:04x}&#8221;.format(int(padded, 2))    pwn.log.info(&#8220;Key: &#8221; + repr(combined.decode(&#8220;hex&#8221;)))<\/textarea><\/div>\n<div class=\"crayon-main\" style=\"\">\n<table class=\"crayon-table\">\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums\" data-settings=\"show\">\n<div class=\"crayon-nums-content\" style=\"font-size: 12px !important; line-height: 15px !important;\">\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-3\">3<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-5\">5<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-6\">6<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-7\">7<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-8\">8<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-9\">9<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-10\">10<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-11\">11<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-12\">12<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-13\">13<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-14\">14<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-15\">15<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-16\">16<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-17\">17<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-18\">18<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-19\">19<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-20\">20<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-21\">21<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-22\">22<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-23\">23<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-24\">24<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-25\">25<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-26\">26<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-27\">27<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-28\">28<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-29\">29<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-30\">30<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-31\">31<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-32\">32<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-33\">33<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-34\">34<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-35\">35<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-36\">36<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-37\">37<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-38\">38<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-39\">39<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-40\">40<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-41\">41<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-42\">42<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-43\">43<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-44\">44<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-45\">45<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-46\">46<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-47\">47<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-48\">48<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-49\">49<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-50\">50<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-51\">51<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-52\">52<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-53\">53<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-54\">54<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-55\">55<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-56\">56<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-57\">57<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-58\">58<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-59\">59<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-60\">60<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-61\">61<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-62\">62<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-63\">63<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-64\">64<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-65\">65<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-66\">66<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-67\">67<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-68\">68<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-69\">69<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-70\">70<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-71\">71<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-72\">72<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-73\">73<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-74\">74<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-75\">75<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-76\">76<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-77\">77<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-78\">78<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-79\">79<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-80\">80<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-81\">81<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-82\">82<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-83\">83<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-84\">84<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-85\">85<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-86\">86<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-87\">87<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-88\">88<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-89\">89<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-90\">90<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-91\">91<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-92\">92<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-93\">93<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-94\">94<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-95\">95<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-96\">96<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-97\">97<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-98\">98<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-99\">99<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-100\">100<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-101\">101<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-102\">102<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-103\">103<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-104\">104<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-105\">105<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-106\">106<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-107\">107<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-108\">108<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-109\">109<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-110\">110<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-111\">111<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-112\">112<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-113\">113<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-114\">114<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-115\">115<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-116\">116<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-117\">117<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-118\">118<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-119\">119<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-120\">120<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-121\">121<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-122\">122<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-123\">123<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-124\">124<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-125\">125<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-126\">126<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-127\">127<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-128\">128<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-129\">129<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-130\">130<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-131\">131<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-132\">132<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-133\">133<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-134\">134<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-135\">135<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-136\">136<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-137\">137<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-138\">138<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-139\">139<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-140\">140<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-141\">141<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-142\">142<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f338828480524-143\">143<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f338828480524-144\">144<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\" style=\"font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;\">\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-1\"><span class=\"crayon-c\">#!\/usr\/bin\/env python2<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-2\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-3\"><span class=\"crayon-c\"># beVX Challenge 1 exploit script<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-4\"><span class=\"crayon-c\"># &#8211; timpwn<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-5\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-6\"><span class=\"crayon-r\">import<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">pwn<\/span><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-c\"># pip install pwn<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-7\"><span class=\"crayon-r\">import<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-k\">logging<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-8\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-9\"><span class=\"crayon-v\">remote<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-t\">True<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-10\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-11\"><span class=\"crayon-c\"># pwn.context.log_level = logging.DEBUG<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-12\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-13\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-14\"><span class=\"crayon-r\">def<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">set_value<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">row<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">value<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-15\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">sendline<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;0&#8221;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-16\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">sendline<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-k\">str<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">row<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-17\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">sendline<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-k\">str<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">value<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-18\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-19\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">readuntil<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">prompt<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-20\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-21\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-22\"><span class=\"crayon-r\">def<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">get_value<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">row<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-23\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">sendline<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;1&#8221;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-24\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-k\">readline<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-25\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">sendline<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-k\">str<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">row<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-26\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">readuntil<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;Result is &#8220;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-27\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">response<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-k\">readline<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-28\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-29\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">value<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-k\">int<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">response<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-30\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-31\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">readuntil<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">prompt<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-32\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-33\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">return<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">value<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-34\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-35\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-36\"><span class=\"crayon-r\">def<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">encrypt<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">message_row<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">key_row<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">bit_count<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-37\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">sendline<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;6&#8221;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-38\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-k\">readline<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-39\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">sendline<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-k\">str<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">message_row<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-40\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">sendline<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-k\">str<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">key_row<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-41\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-42\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">continue_prompt<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;Continue Encryption? (y\/n)&#8221;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-43\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-44\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">readuntil<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">continue_prompt<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-45\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-k\">readline<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-46\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-47\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">for<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">i<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">in<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-k\">range<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">bit_count<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-48\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">sendline<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;y&#8221;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-49\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">response<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-k\">readline<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">strip<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-50\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-51\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-c\"># The remote system echoes our input back<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-52\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">response<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">==<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;y&#8221;<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-53\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">response<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-k\">readline<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">strip<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-54\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-55\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">response<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">!=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">continue_prompt<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-56\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">pwn<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">log<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">debug<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;No more encryption at bit {}&#8221;<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-k\">format<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-57\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">readuntil<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">prompt<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-58\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">return<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-59\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-60\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">sendline<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;n&#8221;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-61\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-62\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">readuntil<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">prompt<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-63\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-64\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-65\"><span class=\"crayon-r\">def<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">decode_key_row<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">row<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-66\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">result<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;&#8221;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-67\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-68\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">previous_value<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">1<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-69\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-70\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-c\"># Get data out for incremental encryption key bits<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-71\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">p<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">pwn<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">log<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">progress<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;Reading row {}&#8221;<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-k\">format<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">row<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-72\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">for<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">bit <\/span><span class=\"crayon-st\">in<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-k\">range<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">32<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-73\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-c\"># Encrypt 0x11 using the key in the row specified<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-74\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">p<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">status<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;Getting bit {}&#8221;<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-k\">format<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">bit<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-75\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">multiplier<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0x11<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-76\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">set_value<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">multiplier<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-77\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-e\">encrypt<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">bit<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-78\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">v<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">get_value<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-79\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-80\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">pwn<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">log<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">debug<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;Bit {} result: 0x{:x}&#8221;<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-k\">format<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">bit<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">v<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-81\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-82\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-c\"># See if our multiplier has been used, which indicates that<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-83\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-c\"># the key has a &#8220;1&#8221; in this position<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-84\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">previous_squared<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">previous_value<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">*<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">previous_value<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-85\"><span class=\"crayon-e\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">v<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">==<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">previous_squared<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&amp;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0xffffffff<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-86\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">result<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">+=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;0&#8221;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-87\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">elif<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">v<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">==<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">previous_squared<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">*<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">multiplier<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&amp;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0xffffffff<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-88\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">result<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">+=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;1&#8221;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-89\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">elif<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">v<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">==<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">previous_value<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-90\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-c\"># This means that we&#8217;ve gone past the end of the key,<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-91\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-c\"># so now we know that the first N bits were zeroes<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-92\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">break<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-93\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">else<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-94\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">pwn<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">log<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">warn<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;Unexpected value!&#8221;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-95\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">result<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">+=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;?&#8221;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-96\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-97\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">pwn<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">log<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">debug<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;Progress: &#8220;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">+<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">result<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-98\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-99\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">previous_value<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">v<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-100\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-101\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-c\"># Add the zeroes that we didn&#8217;t get to see at the start of the key<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-102\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">result<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;0&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">*<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">32<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-k\">len<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">result<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">+<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">result<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-103\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-104\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">p<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">success<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;Got row, value: &#8220;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">+<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">result<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-105\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-106\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">return<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">result<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-107\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-108\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-109\"><span class=\"crayon-r\">def<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">connect<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-110\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">remote<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-111\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">ssh<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">pwn<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">ssh<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-k\">user<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-s\">&#8220;challenge&#8221;<\/span><span class=\"crayon-sy\">,<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-112\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">host<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-s\">&#8220;x.x.x.x&#8221;<\/span><span class=\"crayon-sy\">,<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-113\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">password<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-s\">&#8220;challenge&#8221;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-114\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-115\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">ssh<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">shell<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-116\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-117\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">prompt<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;8. Exitrn&#8221;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-118\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-119\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">else<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-120\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">pwn<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">process<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;.\/cha1&#8221;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-121\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">prompt<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;8. Exitn&#8221;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-122\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-123\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">return<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">prompt<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-124\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-125\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-126\"><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">prompt<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">connect<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-127\"><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">readuntil<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">prompt<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-128\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-129\"><span class=\"crayon-c\"># We can get rows 18-20 ok, after which no encryption cycles are possible &#8211;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-130\"><span class=\"crayon-c\"># this is most likely because the rows are all zeroes.<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-131\"><span class=\"crayon-v\">rows_bits<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-k\">list<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-132\"><span class=\"crayon-st\">for<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">row <\/span><span class=\"crayon-st\">in<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-k\">range<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">18<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">21<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-133\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">partial_key<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">decode_key_row<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">row<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-134\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">rows_bits<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">append<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">partial_key<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-135\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-136\"><span class=\"crayon-c\"># Pad out and combine the key parts<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-137\"><span class=\"crayon-v\">combined<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;&#8221;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-138\"><span class=\"crayon-st\">for<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">r<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">in<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">rows_bits<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-139\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">padded<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;0&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">*<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">32<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-k\">len<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">+<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">r<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-140\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-k\">print<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;Row value:&#8221;<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-k\">hex<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-k\">int<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">padded<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">2<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-141\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-142\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">combined<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">+=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;{:04x}&#8221;<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-k\">format<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-k\">int<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">padded<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">2<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f338828480524-143\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f338828480524-144\"><span class=\"crayon-v\">pwn<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">log<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">info<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;Key: &#8220;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">+<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-k\">repr<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">combined<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">decode<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;hex&#8221;<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/table><\/div>\n<\/p><\/div>\n<p>  <!-- [Format Time: 0.0145 seconds] -->  <\/p>\n<p><strong>Solution (mongo)<\/strong><br \/> Key: &#8220;beVX Sep 20!&#8221;<\/p>\n<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->    \t\t<\/p>\n<div id=\"crayon-5a9c70e22f33d383522367\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\" style=\" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;\">\n<div class=\"crayon-toolbar\" data-settings=\" mouseover overlay hide delay\" style=\"font-size: 12px !important;height: 18px !important; line-height: 18px !important;\"><span class=\"crayon-title\"><\/span>  \t\t\t<\/p>\n<div class=\"crayon-tools\" style=\"font-size: 12px !important;height: 18px !important; line-height: 18px !important;\">\n<div class=\"crayon-button crayon-nums-button\" title=\"Toggle Line Numbers\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-plain-button\" title=\"Toggle Plain Code\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-wrap-button\" title=\"Toggle Line Wrap\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-expand-button\" title=\"Expand Code\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-copy-button\" title=\"Copy\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-popup-button\" title=\"Open Code In New Window\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<p><span class=\"crayon-language\">Python<\/span><\/div>\n<\/div>\n<div class=\"crayon-info\" style=\"min-height: 16.8px !important; line-height: 16.8px !important;\"><\/div>\n<div class=\"crayon-plain-wrap\"><textarea wrap=\"soft\" class=\"crayon-plain print-no\" data-settings=\"dblclick\" readonly style=\"-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;\"> import operator  import ctypes, sys, re, os    from pwn import *  from pwnlib.tubes.ssh import *  \t  remote = 1    if not remote:  \tconn = ssh(host=&#8217;192.168.1.5&#8242;, user=&#8217;cha1&#8242;, password=&#8217;cha1&#8242;)  else:  \tconn = ssh(host=&#8217;x.x.x.x&#8217;, user=&#8217;challenge&#8217;, password=&#8217;challenge&#8217;)    s = conn.shell()  s.sendall = s.send    s.recvuntil(&#8220;rn&#8221;)  s.recvuntil(&#8220;8. Exit&#8221;)    def store(idx, val):  \ts.sendall(&#8220;0n%dn%dn&#8221; % (idx, val))  \ts.recvuntil(&#8220;8. Exit&#8221;)  \t  def get(idx):  \ts.sendall(&#8220;1n%dn&#8221; % (idx))  \ts.recvuntil(&#8220;Result is &#8220;)  \tv = int(s.recvuntil(&#8220;rn&#8221;))  \ts.recvuntil(&#8220;8. Exit&#8221;)  \treturn v  \t  def privateenc(msg_idx, key_idx):  \ts.sendall(&#8220;6n&#8221;)  \ts.recvuntil(&#8220;Enter row of message, row of keyrn&#8221;)  \ts.sendall(&#8220;%dn%dn&#8221; % (msg_idx, key_idx))  \ts.recvuntil(&#8220;n&#8221;)  \ts.recvuntil(&#8220;n&#8221;)    def reset():  \tfor i in range(16):  \t\tstore(i, 0)    def get_key_part(key_idx):  \tprivateenc(16, key_idx)  \ttimes = 0  \t  \t&#8220;&#8221;&#8221;  \tcheck the number of bits left in this key part  \t&#8220;&#8221;&#8221;  \tfor i in range(32):  \t\tv = s.recvuntil(&#8220;rn&#8221;).strip()  \t\t#print &#8220;&lt;&lt;&#8220;, v  \t\tif &#8220;Continue Encryption&#8221; in v:  \t\t\ts.sendall(&#8220;yn&#8221;)  \t\t\ts.recvuntil(&#8220;n&#8221;)  \t\t\ttimes += 1  \t\telse:  \t\t\tbreak    \ts.recvuntil(&#8220;8. Exit&#8221;)  \t  \tprint &#8220;key %d bits = %d&#8221; % (key_idx, times)  \tnum_bits = times  \t  \t&#8220;&#8221;&#8221;  \tnow, get key_part  \tkeep in mind result is multiplied by itself at every step  \tif key bit is 1, we also multiply by 3 (baseval)  \t&#8220;&#8221;&#8221;  \tbaseval = 3  \tpos = 32 &#8211; num_bits &#8211; 1  \tskip = 0  \tcur_val = 1  \tkey_part = 0  \tfor i in range(32 &#8211; num_bits, 32):  \t\tstore(0, baseval)  \t\tprivateenc(0, key_idx)  \t\tval_if_1 = ((cur_val * cur_val) * baseval) &amp; 0xFFFFFFFF  \t\tval_if_0 = ((cur_val * cur_val)) &amp; 0xFFFFFFFF    \t\ttimes = 0  \t\tfor i in range(skip + 1):  \t\t\tv = s.recvuntil(&#8220;n&#8221;).strip()  \t\t\ts.sendall(&#8220;yn&#8221;)  \t\t\ts.recvuntil(&#8220;n&#8221;)    \t\tv = s.recvuntil(&#8220;n&#8221;).strip()    \t\tif &#8220;Continue&#8221; in v:  \t\t\ts.sendall(&#8220;nn&#8221;)  \t\t\ts.recvuntil(&#8220;n&#8221;)    \t\ts.recvuntil(&#8220;8. Exit&#8221;)  \t\t  \t\tres = get(0)  \t\t#print &#8220;res=&#8221;, res  \t\tif res not in [val_if_0, val_if_1]:  \t\t\tprint res  \t\t\tprint [val_if_0, val_if_1]  \t\t\traise &#8220;Fail&#8221;  \t\t  \t\tkey_part = (key_part &lt;&lt; 1) | (1 if res == val_if_1 else 0)  \t\tcur_val = res  \t\tskip += 1    \tprint bin(key_part), &#8220;%08X&#8221; % key_part, (&#8220;%08X&#8221; % key_part).decode(&#8216;hex&#8217;)    for i in range(18, 22):  \tget_key_part(i)    s.close()<\/textarea><\/div>\n<div class=\"crayon-main\" style=\"\">\n<table class=\"crayon-table\">\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums\" data-settings=\"show\">\n<div class=\"crayon-nums-content\" style=\"font-size: 12px !important; line-height: 15px !important;\">\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-3\">3<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-5\">5<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-6\">6<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-7\">7<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-8\">8<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-9\">9<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-10\">10<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-11\">11<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-12\">12<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-13\">13<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-14\">14<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-15\">15<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-16\">16<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-17\">17<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-18\">18<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-19\">19<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-20\">20<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-21\">21<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-22\">22<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-23\">23<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-24\">24<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-25\">25<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-26\">26<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-27\">27<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-28\">28<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-29\">29<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-30\">30<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-31\">31<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-32\">32<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-33\">33<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-34\">34<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-35\">35<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-36\">36<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-37\">37<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-38\">38<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-39\">39<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-40\">40<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-41\">41<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-42\">42<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-43\">43<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-44\">44<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-45\">45<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-46\">46<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-47\">47<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-48\">48<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-49\">49<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-50\">50<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-51\">51<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-52\">52<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-53\">53<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-54\">54<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-55\">55<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-56\">56<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-57\">57<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-58\">58<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-59\">59<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-60\">60<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-61\">61<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-62\">62<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-63\">63<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-64\">64<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-65\">65<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-66\">66<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-67\">67<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-68\">68<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-69\">69<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-70\">70<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-71\">71<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-72\">72<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-73\">73<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-74\">74<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-75\">75<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-76\">76<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-77\">77<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-78\">78<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-79\">79<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-80\">80<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-81\">81<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-82\">82<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-83\">83<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-84\">84<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-85\">85<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-86\">86<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-87\">87<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-88\">88<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-89\">89<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-90\">90<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-91\">91<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-92\">92<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-93\">93<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-94\">94<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-95\">95<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-96\">96<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-97\">97<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-98\">98<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-99\">99<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-100\">100<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-101\">101<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-102\">102<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-103\">103<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-104\">104<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-105\">105<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-106\">106<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-107\">107<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-108\">108<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f33d383522367-109\">109<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f33d383522367-110\">110<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\" style=\"font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;\">\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-1\"><span class=\"crayon-r\">import<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-k\">operator<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-2\"><span class=\"crayon-r\">import<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-k\">ctypes<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-k\">sys<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-k\">re<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-k\">os<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-3\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-4\"><span class=\"crayon-st\">from<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">pwn <\/span><span class=\"crayon-r\">import<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">*<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-5\"><span class=\"crayon-st\">from<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">pwnlib<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">tubes<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">ssh <\/span><span class=\"crayon-r\">import<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">*<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-6\"><span class=\"crayon-h\">\t<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-7\"><span class=\"crayon-v\">remote<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">1<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-8\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-9\"><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">not<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">remote<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-10\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-v\">conn<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">ssh<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">host<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-s\">&#8216;192.168.1.5&#8217;<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-k\">user<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-s\">&#8216;cha1&#8217;<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">password<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-s\">&#8216;cha1&#8217;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-11\"><span class=\"crayon-st\">else<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-12\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-v\">conn<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">ssh<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">host<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-s\">&#8216;x.x.x.x&#8217;<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-k\">user<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-s\">&#8216;challenge&#8217;<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">password<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-s\">&#8216;challenge&#8217;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-13\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-14\"><span class=\"crayon-v\">s<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">conn<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">shell<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-15\"><span class=\"crayon-v\">s<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">sendall<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">s<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-i\">send<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-16\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-17\"><span class=\"crayon-v\">s<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">recvuntil<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;rn&#8221;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-18\"><span class=\"crayon-v\">s<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">recvuntil<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;8. Exit&#8221;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-19\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-20\"><span class=\"crayon-r\">def<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">store<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">idx<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">val<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-21\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-v\">s<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">sendall<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;0n%dn%dn&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">%<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">idx<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">val<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-22\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-v\">s<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">recvuntil<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;8. Exit&#8221;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-23\"><span class=\"crayon-h\">\t<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-24\"><span class=\"crayon-r\">def<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">get<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">idx<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-25\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-v\">s<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">sendall<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;1n%dn&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">%<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">idx<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-26\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-v\">s<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">recvuntil<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;Result is &#8220;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-27\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-v\">v<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-k\">int<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">s<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">recvuntil<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;rn&#8221;<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-28\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-v\">s<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">recvuntil<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;8. Exit&#8221;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-29\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-st\">return<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">v<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-30\"><span class=\"crayon-h\">\t<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-31\"><span class=\"crayon-r\">def<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">privateenc<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">msg_idx<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">key_idx<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-32\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-v\">s<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">sendall<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;6n&#8221;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-33\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-v\">s<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">recvuntil<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;Enter row of message, row of keyrn&#8221;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-34\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-v\">s<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">sendall<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;%dn%dn&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">%<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">msg_idx<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">key_idx<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-35\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-v\">s<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">recvuntil<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;n&#8221;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-36\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-v\">s<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">recvuntil<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;n&#8221;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-37\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-38\"><span class=\"crayon-r\">def<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">reset<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-39\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-st\">for<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">i<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">in<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-k\">range<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">16<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-40\"><span class=\"crayon-h\">\t\t<\/span><span class=\"crayon-e\">store<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-41\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-42\"><span class=\"crayon-r\">def<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">get_key_part<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">key_idx<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-43\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-e\">privateenc<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">16<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">key_idx<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-44\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-v\">times<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-45\"><span class=\"crayon-h\">\t<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-46\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-s\">&#8220;&#8221;&#8221;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-47\"><span class=\"crayon-s\">\tcheck the number of bits left in this key part<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-48\"><span class=\"crayon-s\">\t&#8220;&#8221;&#8221;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-49\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-st\">for<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">i<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">in<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-k\">range<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">32<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-50\"><span class=\"crayon-h\">\t\t<\/span><span class=\"crayon-v\">v<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">s<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">recvuntil<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;rn&#8221;<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">strip<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-51\"><span class=\"crayon-h\">\t\t<\/span><span class=\"crayon-c\">#print &#8220;&lt;&lt;&#8220;, v<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-52\"><span class=\"crayon-h\">\t\t<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;Continue Encryption&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">in<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">v<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-53\"><span class=\"crayon-h\">\t\t\t<\/span><span class=\"crayon-v\">s<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">sendall<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;yn&#8221;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-54\"><span class=\"crayon-h\">\t\t\t<\/span><span class=\"crayon-v\">s<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">recvuntil<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;n&#8221;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-55\"><span class=\"crayon-h\">\t\t\t<\/span><span class=\"crayon-v\">times<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">+=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">1<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-56\"><span class=\"crayon-h\">\t\t<\/span><span class=\"crayon-st\">else<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-57\"><span class=\"crayon-h\">\t\t\t<\/span><span class=\"crayon-st\">break<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-58\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-59\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-v\">s<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">recvuntil<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;8. Exit&#8221;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-60\"><span class=\"crayon-h\">\t<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-61\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-k\">print<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;key %d bits = %d&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">%<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">key_idx<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">times<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-62\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-v\">num_bits<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">times<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-63\"><span class=\"crayon-h\">\t<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-64\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-s\">&#8220;&#8221;&#8221;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-65\"><span class=\"crayon-s\">\tnow, get key_part<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-66\"><span class=\"crayon-s\">\tkeep in mind result is multiplied by itself at every step<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-67\"><span class=\"crayon-s\">\tif key bit is 1, we also multiply by 3 (baseval)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-68\"><span class=\"crayon-s\">\t&#8220;&#8221;&#8221;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-69\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-v\">baseval<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">3<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-70\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-v\">pos<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">32<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num_bits<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">1<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-71\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-v\">skip<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-72\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-v\">cur_val<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">1<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-73\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-v\">key_part<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-74\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-st\">for<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">i<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">in<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-k\">range<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">32<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">num_bits<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">32<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-75\"><span class=\"crayon-h\">\t\t<\/span><span class=\"crayon-e\">store<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">baseval<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-76\"><span class=\"crayon-h\">\t\t<\/span><span class=\"crayon-e\">privateenc<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">key_idx<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-77\"><span class=\"crayon-h\">\t\t<\/span><span class=\"crayon-v\">val_if_1<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">cur_val<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">*<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">cur_val<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">*<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">baseval<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&amp;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0xFFFFFFFF<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-78\"><span class=\"crayon-h\">\t\t<\/span><span class=\"crayon-v\">val_if_0<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">cur_val<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">*<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">cur_val<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&amp;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0xFFFFFFFF<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-79\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-80\"><span class=\"crayon-h\">\t\t<\/span><span class=\"crayon-v\">times<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-81\"><span class=\"crayon-h\">\t\t<\/span><span class=\"crayon-st\">for<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">i<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">in<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-k\">range<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">skip<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">+<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">1<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-82\"><span class=\"crayon-h\">\t\t\t<\/span><span class=\"crayon-v\">v<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">s<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">recvuntil<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;n&#8221;<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">strip<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-83\"><span class=\"crayon-h\">\t\t\t<\/span><span class=\"crayon-v\">s<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">sendall<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;yn&#8221;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-84\"><span class=\"crayon-h\">\t\t\t<\/span><span class=\"crayon-v\">s<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">recvuntil<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;n&#8221;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-85\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-86\"><span class=\"crayon-h\">\t\t<\/span><span class=\"crayon-v\">v<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">s<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">recvuntil<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;n&#8221;<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">strip<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-87\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-88\"><span class=\"crayon-h\">\t\t<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;Continue&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">in<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">v<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-89\"><span class=\"crayon-h\">\t\t\t<\/span><span class=\"crayon-v\">s<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">sendall<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;nn&#8221;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-90\"><span class=\"crayon-h\">\t\t\t<\/span><span class=\"crayon-v\">s<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">recvuntil<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;n&#8221;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-91\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-92\"><span class=\"crayon-h\">\t\t<\/span><span class=\"crayon-v\">s<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">recvuntil<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;8. Exit&#8221;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-93\"><span class=\"crayon-h\">\t\t<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-94\"><span class=\"crayon-h\">\t\t<\/span><span class=\"crayon-v\">res<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">get<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-95\"><span class=\"crayon-h\">\t\t<\/span><span class=\"crayon-c\">#print &#8220;res=&#8221;, res<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-96\"><span class=\"crayon-h\">\t\t<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">res <\/span><span class=\"crayon-st\">not<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">in<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">val_if_0<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">val_if_1<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-97\"><span class=\"crayon-h\">\t\t\t<\/span><span class=\"crayon-k\">print<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">res<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-98\"><span class=\"crayon-e\">\t\t\t<\/span><span class=\"crayon-k\">print<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">val_if_0<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">val_if_1<\/span><span class=\"crayon-sy\">]<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-99\"><span class=\"crayon-h\">\t\t\t<\/span><span class=\"crayon-st\">raise<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;Fail&#8221;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-100\"><span class=\"crayon-h\">\t\t<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-101\"><span class=\"crayon-h\">\t\t<\/span><span class=\"crayon-v\">key_part<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">key_part<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">1<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">|<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">1<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">res<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">==<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">val_if_1 <\/span><span class=\"crayon-st\">else<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-102\"><span class=\"crayon-h\">\t\t<\/span><span class=\"crayon-v\">cur_val<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">res<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-103\"><span class=\"crayon-e\">\t\t<\/span><span class=\"crayon-v\">skip<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">+=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">1<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-104\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-105\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-k\">print<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-k\">bin<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">key_part<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;%08X&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">%<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">key_part<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;%08X&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">%<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">key_part<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">decode<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8216;hex&#8217;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-106\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-107\"><span class=\"crayon-st\">for<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">i<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">in<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-k\">range<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">18<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">22<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-108\"><span class=\"crayon-h\">\t<\/span><span class=\"crayon-e\">get_key_part<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">i<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f33d383522367-109\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f33d383522367-110\"><span class=\"crayon-v\">s<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">close<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/table><\/div>\n<\/p><\/div>\n<p>  <!-- [Format Time: 0.0129 seconds] -->  <\/p>\n<p><strong>Solution (Dmitry)<\/strong><br \/> Secret key is &#8220;beVX Sep 20!&#8221;<\/p>\n<p>Solution:<br \/> It is easy to detect that valid row numbers are 0..15 (thanks to error messages).<\/p>\n<p>&#8220;Private Key Encryption&#8221; handling routine sets bit 3 (&#038; 8) of number of rows thus allowing access to rows 16..23. Key is stored in rows 18..20. Each row represents 32-bit value.<\/p>\n<p>Encryption is just calculation of pow(msgRow, keyRow, 1&lt;&lt;32)<\/p>\n<p>Fastest method (using timing attack) allows recovering of row value in single pass. Each non-zero bit in exponent requires additional call to decrypt(), that causes sensitive delay.<br \/> But due to difficulties in automation of SSH interactive communication I derives each row in 3 steps:<br \/> 1. Find number of bits if exponent (by counting &#8220;Continue Encryption? (y\/n)&#8221; prompts)<br \/> 2. Find highest 16 bits of exponent (by stopping encryption 16 bits before its end and brute-forcing 16 bit exponent value)<br \/> 3. Find complete exponent (by brute-forcing lowest 16 bits)<\/p>\n<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta -->    \t\t<\/p>\n<div id=\"crayon-5a9c70e22f341289075055\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\" style=\" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;\">\n<div class=\"crayon-toolbar\" data-settings=\" mouseover overlay hide delay\" style=\"font-size: 12px !important;height: 18px !important; line-height: 18px !important;\"><span class=\"crayon-title\"><\/span>  \t\t\t<\/p>\n<div class=\"crayon-tools\" style=\"font-size: 12px !important;height: 18px !important; line-height: 18px !important;\">\n<div class=\"crayon-button crayon-nums-button\" title=\"Toggle Line Numbers\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-plain-button\" title=\"Toggle Plain Code\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-wrap-button\" title=\"Toggle Line Wrap\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-expand-button\" title=\"Expand Code\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-copy-button\" title=\"Copy\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<div class=\"crayon-button crayon-popup-button\" title=\"Open Code In New Window\">\n<div class=\"crayon-button-icon\"><\/div>\n<\/div>\n<p><span class=\"crayon-language\">Python<\/span><\/div>\n<\/div>\n<div class=\"crayon-info\" style=\"min-height: 16.8px !important; line-height: 16.8px !important;\"><\/div>\n<div class=\"crayon-plain-wrap\"><textarea wrap=\"soft\" class=\"crayon-plain print-no\" data-settings=\"dblclick\" readonly style=\"-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;\"> import sys, subprocess, time    class SSH_beVX(object):    EMSG = &#8220;8. Exit&#8221;    def send_command(self, cmd):      self.proc.stdin.write(cmd + &#8220;n&#8221;)      self.proc.stdin.flush()      ln = self.proc.stdout.readline()      assert ln.startswith(cmd)      self.started = time.clock()      def read_line(self):      return self.proc.stdout.readline()      def read_until(self, msg=EMSG):      lines = []      while True:        lines.append(self.read_line())        if lines[-1].startswith(msg):          return lines          def write_row(self, row, val):      self.send_command(&#8220;0&#8221;)      self.read_line() # Enter row and number      self.send_command(&#8220;%d %d&#8221; % (row, val))      self.read_until() # Please choose your option:      def read_row(self, row):      self.send_command(&#8220;1&#8221;)      self.read_line() # Enter row      self.send_command(&#8220;%d&#8221; % row)      ln = self.read_line() # Result is      assert ln.startswith(&#8220;Result is&#8221;)      self.read_until() # Please choose your option:      return int(ln.split()[-1])      def measure_crypt(self, keyRow, msgRow=0, val=3):      self.write_row(msgRow, val)      self.send_command(&#8220;6&#8221;)      self.read_line() # Enter row of message, row of key      self.send_command(&#8220;%d %d&#8221; % (msgRow, keyRow))      exp = 0      while True:        ln = self.read_line()        delta = time.clock() &#8211; self.started        bit = 1 if delta &gt; 0.7 else 0        exp = (exp*2) + bit        sys.stderr.write(&#8220;r%8X&#8221; % exp)        if not ln.startswith(&#8220;Continue Encryption? (y\/n)&#8221;): break        self.send_command(&#8220;Y&#8221;)      self.read_until() # Please choose your option:      res = self.read_row(msgRow)      if res != pow(val, exp, 1&lt;&lt;32):        exp ^= 1        if res != pow(val, exp, 1&lt;&lt;32): raise Exception(&#8220;Can&#8217;t find key[%d]&#8221; % keyRow)      s = (&#8220;%08X&#8221; % exp).decode(&#8220;hex&#8221;)      sys.stderr.write(&#8220;r%08X [%s]n&#8221; % (exp, s))      return s          def __init__(self, host, username, password, port=22):      args = [&#8220;plink&#8221;, &#8220;-l&#8221;, username, &#8220;-pw&#8221;, password, &#8220;-P&#8221;, &#8220;%d&#8221; % port, host]      self.proc = subprocess.Popen(args, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, bufsize=1)    def main():    ssh = SSH_beVX(&#8220;x.x.x.x&#8221;, &#8220;challenge&#8221;, &#8220;challenge&#8221;)    ssh.read_until() # Please choose your option:    r = [ssh.measure_crypt(keyRow, 0, 7) for keyRow in xrange(18, 21)]    print &#8220;Key is [%s]&#8221; % &#8220;&#8221;.join(r) # &#8220;beVX Sep 20!&#8221;    ssh.send_command(&#8220;8&#8243;)    if __name__==&#8221;__main__&#8221;: main()<\/textarea><\/div>\n<div class=\"crayon-main\" style=\"\">\n<table class=\"crayon-table\">\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums\" data-settings=\"show\">\n<div class=\"crayon-nums-content\" style=\"font-size: 12px !important; line-height: 15px !important;\">\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f341289075055-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f341289075055-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f341289075055-3\">3<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f341289075055-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f341289075055-5\">5<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f341289075055-6\">6<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f341289075055-7\">7<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f341289075055-8\">8<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f341289075055-9\">9<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f341289075055-10\">10<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f341289075055-11\">11<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f341289075055-12\">12<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f341289075055-13\">13<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f341289075055-14\">14<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f341289075055-15\">15<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f341289075055-16\">16<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f341289075055-17\">17<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f341289075055-18\">18<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f341289075055-19\">19<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f341289075055-20\">20<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f341289075055-21\">21<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f341289075055-22\">22<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f341289075055-23\">23<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f341289075055-24\">24<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f341289075055-25\">25<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f341289075055-26\">26<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f341289075055-27\">27<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f341289075055-28\">28<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f341289075055-29\">29<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f341289075055-30\">30<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f341289075055-31\">31<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f341289075055-32\">32<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f341289075055-33\">33<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f341289075055-34\">34<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f341289075055-35\">35<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f341289075055-36\">36<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f341289075055-37\">37<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f341289075055-38\">38<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f341289075055-39\">39<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f341289075055-40\">40<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f341289075055-41\">41<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f341289075055-42\">42<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f341289075055-43\">43<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f341289075055-44\">44<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f341289075055-45\">45<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f341289075055-46\">46<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f341289075055-47\">47<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f341289075055-48\">48<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f341289075055-49\">49<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f341289075055-50\">50<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f341289075055-51\">51<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f341289075055-52\">52<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f341289075055-53\">53<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f341289075055-54\">54<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f341289075055-55\">55<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f341289075055-56\">56<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f341289075055-57\">57<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f341289075055-58\">58<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f341289075055-59\">59<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f341289075055-60\">60<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f341289075055-61\">61<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f341289075055-62\">62<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f341289075055-63\">63<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f341289075055-64\">64<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f341289075055-65\">65<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f341289075055-66\">66<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f341289075055-67\">67<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f341289075055-68\">68<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f341289075055-69\">69<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5a9c70e22f341289075055-70\">70<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5a9c70e22f341289075055-71\">71<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\" style=\"font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;\">\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f341289075055-1\"><span class=\"crayon-r\">import<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-k\">sys<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-k\">subprocess<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-k\">time<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f341289075055-2\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f341289075055-3\"><span class=\"crayon-t\">class<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">SSH_beVX<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-k\">object<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f341289075055-4\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-v\">EMSG<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;8. Exit&#8221;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f341289075055-5\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-r\">def<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">send_command<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-k\">cmd<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f341289075055-6\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">proc<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">stdin<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">write<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-k\">cmd<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">+<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;n&#8221;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f341289075055-7\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">proc<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">stdin<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">flush<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f341289075055-8\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">ln<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">proc<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">stdout<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-k\">readline<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f341289075055-9\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">assert<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">ln<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">startswith<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-k\">cmd<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f341289075055-10\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">started<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-k\">time<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">clock<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f341289075055-11\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f341289075055-12\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-r\">def<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">read_line<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f341289075055-13\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">return<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">proc<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">stdout<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-k\">readline<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f341289075055-14\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f341289075055-15\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-r\">def<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">read_until<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">msg<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-v\">EMSG<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f341289075055-16\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">lines<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-sy\">]<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f341289075055-17\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">while<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-t\">True<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f341289075055-18\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">lines<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">append<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">read_line<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f341289075055-19\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">lines<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-cn\">1<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">startswith<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">msg<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f341289075055-20\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">return<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">lines<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f341289075055-21\"><span class=\"crayon-e\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f341289075055-22\"><span class=\"crayon-e\">&nbsp;&nbsp;<\/span><span class=\"crayon-r\">def<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">write_row<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">val<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f341289075055-23\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">send_command<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;0&#8221;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f341289075055-24\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">read_line<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-c\"># Enter row and number<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f341289075055-25\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">send_command<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;%d %d&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">%<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">row<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">val<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f341289075055-26\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">read_until<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-c\"># Please choose your option:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f341289075055-27\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f341289075055-28\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-r\">def<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">read_row<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f341289075055-29\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">send_command<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;1&#8221;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f341289075055-30\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">read_line<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-c\"># Enter row<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f341289075055-31\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">send_command<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;%d&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">%<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">row<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f341289075055-32\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">ln<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">read_line<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-c\"># Result is<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f341289075055-33\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">assert<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">ln<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">startswith<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;Result is&#8221;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f341289075055-34\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">read_until<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-c\"># Please choose your option:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f341289075055-35\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">return<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-k\">int<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">ln<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">split<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-cn\">1<\/span><span class=\"crayon-sy\">]<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f341289075055-36\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f341289075055-37\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-r\">def<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">measure_crypt<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">keyRow<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">msgRow<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">val<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-cn\">3<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f341289075055-38\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">write_row<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">msgRow<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">val<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f341289075055-39\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">send_command<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;6&#8221;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f341289075055-40\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">read_line<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-c\"># Enter row of message, row of key<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f341289075055-41\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">send_command<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;%d %d&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">%<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">msgRow<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">keyRow<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f341289075055-42\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">exp<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f341289075055-43\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">while<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-t\">True<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f341289075055-44\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">ln<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">read_line<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f341289075055-45\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">delta<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-k\">time<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">clock<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">started<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f341289075055-46\"><span class=\"crayon-e\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">bit<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">1<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">delta<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&gt;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0.7<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">else<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f341289075055-47\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">exp<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">exp<\/span><span class=\"crayon-o\">*<\/span><span class=\"crayon-cn\">2<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">+<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">bit<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f341289075055-48\"><span class=\"crayon-e\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-k\">sys<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">stderr<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">write<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;r%8X&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">%<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">exp<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f341289075055-49\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">not<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">ln<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">startswith<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;Continue Encryption? (y\/n)&#8221;<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">break<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f341289075055-50\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">send_command<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;Y&#8221;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f341289075055-51\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">read_until<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-c\"># Please choose your option:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f341289075055-52\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">res<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">read_row<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">msgRow<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f341289075055-53\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">res<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">!=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-k\">pow<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">val<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">exp<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">1<\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-cn\">32<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f341289075055-54\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">exp<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">^=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">1<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f341289075055-55\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">res<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">!=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-k\">pow<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">val<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">exp<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">1<\/span><span class=\"crayon-o\">&lt;&lt;<\/span><span class=\"crayon-cn\">32<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">raise<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-k\">Exception<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;Can&#8217;t find key[%d]&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">%<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">keyRow<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f341289075055-56\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">s<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;%08X&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">%<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">exp<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">decode<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;hex&#8221;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f341289075055-57\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-k\">sys<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">stderr<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">write<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;r%08X [%s]n&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">%<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">exp<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">s<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f341289075055-58\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-st\">return<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">s<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f341289075055-59\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f341289075055-60\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-r\">def<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">__init__<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">host<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">username<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">password<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">port<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-cn\">22<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f341289075055-61\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-v\">args<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-s\">&#8220;plink&#8221;<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;-l&#8221;<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">username<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;-pw&#8221;<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">password<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;-P&#8221;<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;%d&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">%<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">port<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">host<\/span><span class=\"crayon-sy\">]<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f341289075055-62\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-r\">self<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">proc<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-k\">subprocess<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">Popen<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">args<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">stdin<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-k\">subprocess<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">PIPE<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">stdout<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-k\">subprocess<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">PIPE<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">stderr<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-k\">subprocess<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">PIPE<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">bufsize<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-cn\">1<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f341289075055-63\">&nbsp;<\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f341289075055-64\"><span class=\"crayon-r\">def<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">main<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-o\">:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f341289075055-65\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-v\">ssh<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">SSH_beVX<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;x.x.x.x&#8221;<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;challenge&#8221;<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;challenge&#8221;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f341289075055-66\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-v\">ssh<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">read_until<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-c\"># Please choose your option:<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f341289075055-67\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-v\">ssh<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">measure_crypt<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">keyRow<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">0<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">7<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-st\">for<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">keyRow <\/span><span class=\"crayon-st\">in<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-k\">xrange<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">18<\/span><span class=\"crayon-sy\">,<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">21<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">]<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f341289075055-68\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-k\">print<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;Key is [%s]&#8221;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">%<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8220;&#8221;<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">join<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">r<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-c\"># &#8220;beVX Sep 20!&#8221;<\/span><\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f341289075055-69\"><span class=\"crayon-h\">&nbsp;&nbsp;<\/span><span class=\"crayon-v\">ssh<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">send_command<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;8&#8221;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\" id=\"crayon-5a9c70e22f341289075055-70\">&nbsp;<\/div>\n<div class=\"crayon-line\" id=\"crayon-5a9c70e22f341289075055-71\"><span class=\"crayon-st\">if<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">__name__<\/span><span class=\"crayon-o\">==<\/span><span class=\"crayon-s\">&#8220;__main__&#8221;<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">main<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/table><\/div>\n<\/p><\/div>\n<p>  <!-- [Format Time: 0.0133 seconds] -->  <\/p>\n<div class=\"printfriendly pf-alignleft\"><a href=\"#\" rel=\"nofollow\" onclick=\"window.print(); return false;\" class=\"noslimstat\" title=\"Printer Friendly, PDF &#038; Email\"><img decoding=\"async\" style=\"border:none;-webkit-box-shadow:none; box-shadow:none;\" src=\"https:\/\/cdn.printfriendly.com\/buttons\/printfriendly-button.png\" alt=\"Print Friendly, PDF &#038; Email\" \/><\/a><\/div>\n<\/div><\/div>\n<p><a href=\"https:\/\/blogs.securiteam.com\/index.php\/archives\/3672\" target=\"bwo\" >https:\/\/blogs.securiteam.com\/index.php\/feed<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/cdn.printfriendly.com\/buttons\/printfriendly-button.png\"\/><\/p>\n<p><strong>Credit to Author: SSD \/ Noam Rathaus| Date: Sun, 04 Mar 2018 07:27:05 +0000<\/strong><\/p>\n<p>During the event of OffensiveCon, we launched a reverse engineering and encryption challenge and gave the attendees the change to win great prizes. The challenge was divided into two parts, a file &#8211; can be downloaded from here: https:\/\/www.beyondsecurity.com\/bevxcon\/bevx-challenge-1 &#8211; that you had to download and reverse engineer and server that you had to access &#8230; <a href=\"https:\/\/blogs.securiteam.com\/index.php\/archives\/3672\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">beVX Conference Challenge<\/span><\/a><\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"colormag_page_container_layout":"default_layout","colormag_page_sidebar_layout":"default_layout","footnotes":""},"categories":[10643,10754],"tags":[10756,10757],"class_list":["post-11652","post","type-post","status-publish","format-standard","hentry","category-independent","category-securiteam","tag-conferences","tag-securiteam-secure-disclosure"],"_links":{"self":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/posts\/11652","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/comments?post=11652"}],"version-history":[{"count":0,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/posts\/11652\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/media?parent=11652"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/categories?post=11652"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/tags?post=11652"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}