#include <bits/stdc++.h>
using namespace std;
vector<int> a[26 + 2], par[255 + 10];
int n;
int zarib[5] = {0, 1, 2, 4, 8};
int vis[255 + 10];
vector<int> sakhte;
inline void make_(int q) {
  for (int i = 0; i < q; ++i)
    for (int j = 0; j < q; ++j)
      for (int l = 0; l < 5; ++l)
        for (int k = 0; k < 2; ++k) {
          if (par[n][i] * zarib[l] + par[n][j] * zarib[k] == par[n][q]) {
            cout << "lea e" << char('a' + q) << "x, [e";
            if (k == 0)
              cout << 'z';
            else
              cout << char('a' + j);
            cout << "x + " << zarib[l] << "*e" << char('a' + i) << "x]" << endl;
            return;
          }
        }
}
inline void make(int p, int ted) {
  if (p == 1) return;
  if (ted >= vis[p] - 1 || ted > 4) {
    sakhte.pop_back();
    return;
  }
  for (int i = 0; i < sakhte.size(); ++i)
    for (int j = 0; j < sakhte.size(); ++j)
      for (int l = 0; l < 5; ++l)
        for (int k = 0; k < 2; ++k) {
          int p_ = sakhte[i] * zarib[l];
          p_ += sakhte[j] * zarib[k];
          if (p_ == p) {
            if (vis[p] > ted + 1) {
              par[p].resize(0);
              for (int qw = 0; qw < sakhte.size(); ++qw)
                par[p].push_back(sakhte[qw]);
              vis[p] = ted + 1;
            }
          } else if (p_ <= 255) {
            sakhte.push_back(p_);
            make(p, ted + 1);
          }
        }
  sakhte.pop_back();
}
int main() {
  ios_base::sync_with_stdio(false);
  cin >> n;
  if (n == 1) {
    cout << 0 << endl;
    return 0;
  }
  vis[n] = 1000;
  sakhte.push_back(1);
  make(n, 0);
  cout << vis[n] << endl;
  par[n].push_back(n);
  for (int i = 1; i < par[n].size(); ++i) make_(i);
  cout << endl;
  return 0;
}
