#include <bits/stdc++.h>
using namespace std;
const long long MOD = 1e9 + 7;
int target;
int best = 10;
int op1[15], op2[15], op3[15], bop1[15], bop2[15], bop3[15];
int reg[15];
int N;
void dfs(int lv) {
  if (lv >= best) return;
  int i, j, k;
  for (i = 0; i < N; i++)
    if (lv < best && reg[i] == target) {
      best = lv;
      for (j = 0; j < lv; j++) {
        bop1[j] = op1[j], bop2[j] = op2[j], bop3[j] = op3[j];
      }
      return;
    }
  if (lv >= best - 1) return;
  for (i = 0; i < N; i++)
    for (j = 0; j < N; j++)
      for (k = 1; k <= 8; k *= 2) {
        if (reg[i] + k * reg[j] > target) continue;
        reg[N++] = reg[i] + k * reg[j];
        op1[lv] = i;
        op2[lv] = k;
        op3[lv] = j;
        dfs(lv + 1);
        N--;
      }
}
int main() {
  std::ios::sync_with_stdio(false);
  cin >> target;
  reg[0] = 1, reg[1] = 0;
  N = 2;
  dfs(0);
  cout << best << endl;
  int i;
  for (i = 0; i < best; i++) {
    cout << "lea e" << (char)('a' + 2 + i) << "x, [e" << (char)('a' + bop1[i])
         << "x + " << bop2[i] << "*e" << (char)('a' + bop3[i]) << "x]" << endl;
  }
}
