#include <bits/stdc++.h>
using namespace std;
int a[44], o = 6, n;
vector<pair<pair<int, int>, pair<int, int> > > cu, ans;
void rec(int x) {
  if (a[x - 1] == n) o = x, ans = cu;
  if (x >= o) return;
  for (int i = 0; i < x; i++)
    for (int j = 0; j < x; j++)
      for (int l = 0; l < 4; l++) {
        a[x] = a[i] + a[j] * (1ull << (l));
        cu[x - 1] = make_pair(make_pair(x, (1ull << (l))), make_pair(i, j));
        rec(x + 1);
      }
  for (int i = 0; i < x; i++)
    for (int l = 0; l < 4; l++) {
      a[x] = a[i] * (1ull << (l));
      cu[x - 1] = make_pair(make_pair(x, (1ull << (l))), make_pair(i, -1));
      rec(x + 1);
    }
}
int main() {
  cu.resize(10);
  cin >> n;
  a[0] = 1;
  rec(1);
  cout << (o - 1) << endl;
  for (int i = 0; i < o - 1; i++) {
    stringstream q;
    if (ans[i].second.second == -1) {
      q << "lea e" << (char)('a' + ans[i].first.first) << "x, ["
        << ans[i].first.second << "*e" << (char)('a' + ans[i].second.first)
        << "x]";
    } else
      q << "lea e" << (char)('a' + ans[i].first.first) << "x, [e"
        << (char)('a' + ans[i].second.first) << "x + " << ans[i].first.second
        << "*e" << (char)('a' + ans[i].second.second) << "x]";
    cout << q.str() << endl;
  }
  return 0;
}
