#include <bits/stdc++.h>
using namespace std;
const int Inf = 0x3f3f3f3f;
const long long INF = 0x3f3f3f3f3f3f3f3fll;
int N;
string t[33];
int a[33];
string inline e_x(int val) {
  string res = "eax";
  res[1] += val;
  return res;
}
bool inline dfs(int lim, int now) {
  if (a[now] > N) return 0;
  if (now == lim) {
    if (a[now] != N) return 0;
    cout << lim << endl;
    for (int i = 1; i <= (lim); ++i) cout << t[i] << endl;
    return 1;
  }
  for (int i = 0; i < (now + 1); ++i)
    for (int j = (1); ((j) > 0 ? j <= (8) : j >= (8)); j += (j)) {
      a[now + 1] = a[i] * j;
      if (a[now + 1] > N) continue;
      if (now + 1 == lim && a[now + 1] != N) continue;
      t[now + 1] =
          "lea " + e_x(now + 1) + ", [" + char('0' + j) + "*" + e_x(i) + "]";
      if (dfs(lim, now + 1)) return 1;
    }
  for (int i = 0; i < (now + 1); ++i)
    for (int j = 0; j < (now + 1); ++j)
      for (int k = (1); ((k) > 0 ? k <= (8) : k >= (8)); k += (k)) {
        a[now + 1] = a[i] + a[j] * k;
        if (a[now + 1] > N) continue;
        if (now + 1 == lim && a[now + 1] != N) continue;
        t[now + 1] = "lea " + e_x(now + 1) + ", [" + e_x(i) + " + " +
                     char('0' + k) + "*" + e_x(j) + "]";
        if (dfs(lim, now + 1)) return 1;
      }
  return 0;
}
int main() {
  scanf("%d", &N);
  a[0] = 1;
  for (int i = 0; i < (30); ++i)
    if (dfs(i, 0)) return 0;
}
