#include <bits/stdc++.h>
using namespace std;
long long int n;
vector<long long int> a, b, c;
vector<long long int> d;
bool recur(long long int rem) {
  if (rem == 0) return d.back() == n;
  for (long long int i = 0; i < ((long long int)(4)); i++)
    for (long long int j = 0; j < ((long long int)(((long long int)d.size())));
         j++) {
      a.push_back(-1);
      b.push_back(i);
      c.push_back(j);
      d.push_back(d[j] * (1ll << (long long int)(i)));
      if (recur(rem - 1)) return true;
      d.pop_back();
      c.pop_back();
      b.pop_back();
      a.pop_back();
    }
  for (long long int i = 0; i < ((long long int)(((long long int)d.size())));
       i++)
    for (long long int j = 0; j < ((long long int)(4)); j++)
      for (long long int k = 0;
           k < ((long long int)(((long long int)d.size()))); k++) {
        a.push_back(i);
        b.push_back(j);
        c.push_back(k);
        d.push_back(d[i] + (1ll << (long long int)(j)) * d[k]);
        if (recur(rem - 1)) return true;
        d.pop_back();
        c.pop_back();
        b.pop_back();
        a.pop_back();
      }
  return false;
}
int main() {
  cin >> n;
  long long int res = 0;
  d.push_back(1);
  while (!recur(res)) res++;
  cout << ((long long int)a.size()) << endl;
  for (long long int i = 0; i < ((long long int)(((long long int)a.size())));
       i++) {
    printf("lea e%cx, [", (char)('b' + i));
    if (a[i] == -1) {
      printf("%I64d*e%cx]\n", (1ll << (long long int)(b[i])), (char)c[i] + 'a');
    } else {
      printf("e%cx + %I64d*e%cx]\n", (char)(a[i] + 'a'),
             ((1ll << (long long int)(b[i]))), (char)(c[i] + 'a'));
    }
  }
}
