func_code_string: #include <bits/stdc++.h>   using namespace std;   inline int read() {     int x = 0, f = 1, c = getchar();     for (; !isdigit(c); c = getchar())       if (c ==  - ) f ^= 1;     for (; isdigit(c); c = getchar()) x = x * 10 + c -  0 ;     return f ? x : -x;   }   int tar;   int val[26];   int tp[26];   int ans;   char cmd[26][105];   void dfs(int i) {     if (val[i - 1] == tar) {       printf( %d n , i - 1);       for (int j = 0; j < (int)(i - 1); ++j) puts(cmd[j + 1]);       exit(0);     }     if (i - 1 >= ans) return;     for (int j = 0; j < (int)(i); ++j)       for (int coef = 0; coef < (int)(4); ++coef) {         int mul = 1 << coef;         tp[i] = j * 10 + mul;         val[i] = mul * val[j];         sprintf(cmd[i],  lea e%cx, [%d*e%cx] , i +  a , mul, j +  a );         if (val[i] <= tar) dfs(i + 1);       }     for (int j = 0; j < (int)(i); ++j)       for (int k = 0; k < (int)(i); ++k)         for (int coef = 0; coef < (int)(4); ++coef) {           int mul = 1 << coef;           tp[i] = (j * 26 + k) * 10 + mul;           val[i] = val[j] + mul * val[k];           sprintf(cmd[i],  lea e%cx, [e%cx + %d*e%cx] , i +  a , j +  a , mul,                   k +  a );           if (val[i] <= tar) dfs(i + 1);         }   }   int main() {     tar = read();     val[0] = 1;     for (ans = 0; ans <= 26; ++ans) dfs(1);     printf( %d n , ans);     return 0;   }   