#include <bits/stdc++.h>
using namespace std;
template <class T>
inline void checkmin(T &a, T b) {
  if (b < a) a = b;
}
template <class T>
inline void checkmax(T &a, T b) {
  if (b > a) a = b;
}
int cond = (long long)0;
vector<int> sol;
int n;
int mul[4] = {1, 2, 4, 8};
void go(vector<int> cur, int dep, int maxdep) {
  if (sol.size()) return;
  if (cur.back() == n) {
    sol = cur;
    return;
  }
  if (dep >= maxdep) return;
  for (int i = (0); i < (cur.size()); ++i)
    for (int j = (0); j < (cur.size()); ++j) {
      for (int k = (0); k < (4); ++k) {
        int nval = cur[i] + cur[j] * mul[k];
        if (nval > cur.back() && nval <= n) {
          cur.push_back(nval);
          go(cur, dep + 1, maxdep);
          cur.pop_back();
        }
      }
    }
  for (int i = (0); i < (cur.size()); ++i) {
    for (int k = (0); k < (4); ++k) {
      int nval = cur[i] * mul[k];
      if (nval > cur.back() && nval <= n) {
        cur.push_back(nval);
        go(cur, dep + 1, maxdep);
        cur.pop_back();
      }
    }
  }
}
void _main() {
  scanf("%d", &n);
  for (int dep = (0); dep <= (10); ++dep) {
    vector<int> tmp;
    tmp.push_back(1);
    go(tmp, 0, dep);
    if (sol.size()) {
      cout << sol.size() - 1 << endl;
      {
        if (cond > 0) {
          cond--;
          for (int xxx = (0); xxx < (1); ++xxx)
            cerr << 88 << " "
                 << "sol.size()"
                 << " " << sol.size() << endl;
          cerr.flush();
        }
      };
      for (__typeof((sol).begin()) it = (sol).begin(); it != (sol).end();
           ++it) {
        if (cond > 0) {
          cond--;
          for (int xxx = (0); xxx < (1); ++xxx)
            cerr << 89 << " "
                 << "*it"
                 << " " << *it << endl;
          cerr.flush();
        }
      };
      int kkkk = sol.size();
      vector<int> cur = sol;
      for (int iiii = (1); iiii <= (kkkk - 1); ++iiii) {
        for (int i = (0); i < (iiii); ++i)
          for (int j = (0); j < (iiii); ++j) {
            for (int k = (0); k < (4); ++k) {
              int nval = cur[i] + cur[j] * mul[k];
              if (nval == sol[iiii]) {
                {
                  if (cond > 0) {
                    cond--;
                    for (int xxx = (0); xxx < (1); ++xxx)
                      cerr << 97 << " "
                           << "nval"
                           << " " << nval << endl;
                    cerr.flush();
                  }
                };
                cout << "lea e" << (char)('a' + iiii) << "x, ["
                     << "e" << (char)('a' + i) << "x + " << mul[k] << "*e"
                     << (char)('a' + j) << "x]" << endl;
                goto end;
              }
            }
          }
        for (int i = (0); i < (iiii); ++i) {
          for (int k = (0); k < (4); ++k) {
            int nval = cur[i] * mul[k];
            if (nval == sol[iiii]) {
              {
                if (cond > 0) {
                  cond--;
                  for (int xxx = (0); xxx < (1); ++xxx)
                    cerr << 109 << " "
                         << "nval"
                         << " " << nval << endl;
                  cerr.flush();
                }
              };
              cout << "lea e" << (char)('a' + iiii) << "x, [" << mul[k] << "*e"
                   << (char)('a' + i) << "x]" << endl;
              goto end;
            }
          }
        }
      end:;
      }
      exit(0);
    }
  }
}
int main(int argc, char **argv) {
  _main();
  return 0;
}
