#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<cstdio>
#include<set>
#include<map>
#include<vector>
#include<queue>
#include<deque>
#define ll long long
#define mp make_pair
#define rep(i,x,y) for(int i=(x);i<=(y);++i)
#define r0p(i,n) for(int i=0;i<n;++i)
#pragma GCC optimize(1)
#pragma G++ optimize(1)
#pragma GCC optimize(2)
#pragma G++ optimize(2)
#pragma GCC optimize(3)
#pragma G++ optimize(3)
#pragma GCC optimize("-funsafe-loop-optimizations")
#pragma GCC optimize("-funroll-loops")
#pragma GCC optimize("-fwhole-program")
#pragma GCC optimize("-fthread-jumps")
#pragma GCC optimize("-falign-functions")
#pragma GCC optimize("-falign-jumps")
#pragma GCC optimize("-falign-loops")
#pragma GCC optimize("-falign-labels")
#pragma GCC optimize("-fcaller-saves")
#pragma GCC optimize("-fcrossjumping")
#pragma GCC optimize("-fcse-follow-jumps")
#pragma GCC optimize("-fcse-skip-blocks")
#pragma GCC optimize("-fdelete-null-pointer-checks")
#pragma GCC optimize("-fexpensive-optimizations")
#pragma GCC optimize("-fgcse")
#pragma GCC optimize("-fgcse-lm")
#pragma GCC optimize("-finline-small-functions")
#pragma GCC optimize("-findirect-inlining")
#pragma GCC optimize("-foptimize-sibling-calls")
#pragma GCC optimize("-fpeephole2")
#pragma GCC optimize("-freorder-blocks")
#pragma GCC optimize("-freorder-functions")
#pragma GCC optimize("-frerun-cse-after-loop")
#pragma GCC optimize("-fsched-interblock")
#pragma GCC optimize("-fsched-spec")
#pragma GCC optimize("-fschedule-insns")
#pragma GCC optimize("-fschedule-insns2")
#pragma GCC optimize("-fstrict-aliasing")
#pragma GCC optimize("-fstrict-overflow")
#pragma GCC optimize("-ftree-switch-conversion")
#pragma GCC optimize("-ftree-pre")
#pragma GCC optimize("-ftree-vrp")
#define pii pair<int,int>
#pragma GCC diagnostic error "-std=c++11"
using namespace std;
inline void rdl(long long &val){
    long long x=0;
    int f=1;
    char ch=getchar();
    while((ch<'0' or ch>'9') and ch!='-') ch=getchar();
    if(ch=='-'){
        f=-1;
        ch=getchar();
	}
	while(ch>='0' and ch<='9'){
	    x=(x<<3)+(x<<1)+ch-'0';
		ch=getchar();
	}
    val=x*f;
}
inline void rdi(int &val){
    int x=0;
    int f=1;
    char ch=getchar();
    while((ch<'0' or ch>'9') and ch!='-') ch=getchar();
    if(ch=='-'){
        f=-1;
        ch=getchar();
    }
    while(ch>='0' and ch<='9'){
        x=(x<<3)+(x<<1)+ch-'0';
        ch=getchar();
    }
    val=x*f;
}
inline long long rdl(){
    long long x=0;
    int f=1;
    char ch=getchar();
    while((ch<'0' or ch>'9') and ch!='-') ch=getchar();
    if(ch=='-'){
        f=-1;
        ch=getchar();
    }
    while(ch>='0' and ch<='9'){
        x=(x<<3)+(x<<1)+ch-'0';
        ch=getchar();
    }
    return x*f;
}
inline int rdi(){
    int x=0;
    int f=1;
	char ch=getchar();
	while((ch<'0' or ch>'9') and ch!='-') ch=getchar();
	if(ch=='-'){
        f=-1;
        ch=getchar();
    }
    while(ch>='0' and ch<='9'){
        x=(x<<3)+(x<<1)+ch-'0';
        ch=getchar();
    }
    return x*f;
}
inline void write(int x){
    if(x<0) putchar('-'),x=-x;
    if(x>9) write(x/10);
    putchar(x%10+'0');
}
inline void _write(int x){
	write(x);
	putchar(' ');
}
inline void print(int x){
	write(x);
	putchar('\n');
}
inline void write(ll x){
    if(x<0) putchar('-'),x=-x;
    if(x>9) write(x/10);
    putchar(x%10+'0');
}
inline void _write(ll x){
	write(x);
	putchar(' ');
}
inline void print(ll x){
	write(x);
	putchar('\n');
}
struct dsu{
	int par[200200];
	inline void init(int _n){for(int i=0;i<_n;++i) par[i]=i;}
	inline int find(int now){
		if(par[now]==now) return now;
		return par[now]=find(par[now]);
	}
	inline bool uni(int a, int b){
		int Pa(find(a)),Pb(find(b));
		if(Pa==Pb) return false;
		par[Pa]=Pb;
		return true;
	}
};
int n,ans,val[10]={1},ans1[11],ans2[11],ans3[1],p[11];
inline void dfs(int x){
	if(val[x]==n and x==ans){
		printf("%d\n",ans);
		for(int i=0;i<ans;++i) if(~ans2[i]) printf("lea e%cx, [e%cx + %d*e%cx]\n",ans1[i]+'a',ans2[i]+'a',p[i],ans3[i]+'a');
		else printf("lead e%cx,[%d*e%cx]\n",ans1[i]+'a',p[i],ans3[i]+'a');
		exit(0);
	}
	if(x==ans) return;
	for(int i=0;i<=x;++i) for(int j=-1;j<=x;++j) for(int k=1;k<9;k<<=1){
		if(j+1) val[x+1]=val[i]*k+val[j];
		else val[x+1]=val[i]*k;
		ans1[x]=x+1,ans2[x]=j,ans3[x]=i,p[x]=k;
		dfs(x+1);
	}
}
int main(){
	scanf("%d",&n);
	for(ans=0;ans<=n;++ans) dfs(0);
}


#include<bits/stdc++.h>
using namespace std;
#define pb push_back
#define ppb pop_back()
int n;
vector<int> v;
vector<string> ans;
string ex(int x){return (string)"e"+(char)('a'+x)+"x";}
string tos(int x){return (string)""+(char)(x+48);}
bool dfs(int rst){
	int i,j;
	if(!rst)return find(v.begin(),v.end(),n)<v.end();
	for(i=2;i<=8;i<<=1)for(j=0;j<v.size();j++)
		if(i*v[j]<=n){
			v.pb(i*v[j]);
			ans.pb((string)"lea "+ex(v.size()-1)+", ["+tos(i)+"*"+ex(j)+"]\n");
			if(dfs(rst-1))return true;
			v.ppb;ans.ppb;
		}
	for(i=1;i<=8;i<<=1)for(j=0;j<v.size();j++)for(int k=i==1?j:0;k<v.size();k++)
		if(v[j]+i*v[k]<=n){
			v.pb(v[j]+i*v[k]);
			ans.pb((string)"lea "+ex(v.size()-1)+", ["+ex(j)+" + "+tos(i)+"*"+ex(k)+"]\n");
			if(dfs(rst-1))return true;
			v.ppb;ans.ppb;
		}
	return false;
}
int main(){
	cin>>n;
	v.pb(1);
	for(int i=0;;i++)if(dfs(i)){
		cout<<i<<"\n";
		for(int j=0;j<ans.size();j++)cout<<ans[j];
		return 0;
	}
}
/*1
41
*/
/*2
2
*/
/*3
4
*/


#include <stdio.h>

int goal, limit;
struct operation {
	int num, a, t, m;
} a[100];
void print_answer() {
	printf("%d\n", limit - 1);
	for (int i = 2; i <= limit; ++ i) {
		printf("lea e%cx, [", i + 'a' - 1);
		if (a[i].a) printf("e%cx + ", a[i].a + 'a' - 1);
		if (a[i].t > 1) printf("%d*", a[i].t);
		printf("e%cx]\n", a[i].m + 'a' - 1);
	}
}
void dfs(int cur) {
	if (cur == limit) {
		if (a[cur].num == goal) {
			print_answer();
			__builtin_exit(0);
		}
		return ;
	}
	for (int i = 0; i <= cur; ++ i)
		for (int j = 1; j <= cur; ++ j)
			for (int k = 0; k < 4; ++ k) {
				int now = a[i].num + (1 << k) * a[j].num;
				if (now <= a[cur].num || now > goal) continue;
				a[cur + 1].num = now;
				a[cur + 1].a = i;
				a[cur + 1].t = 1 << k;
				a[cur + 1].m = j;
				dfs(cur + 1);
			}
}
int main() {
	scanf("%d", &goal);
	for (; ++ limit; )
		dfs(a[1].num = 1);
	return 0;
}


// eddy1021
#include <bits/stdc++.h>
using namespace std;
typedef double D;
typedef long double LD;
typedef long long ll;
typedef long long LL;
typedef pair<int,int> PII;
typedef pair<LL,LL> PLL;
typedef pair<LD,LD> Pt;
typedef tuple<int,int,int> tiii;
typedef tuple<LL,LL,LL> tlll;
#define mod9 1000000009ll
#define mod7 1000000007ll
#define INF  1023456789ll
#define INF16 10000000000000000ll
#define FI first
#define SE second
// #define X FI
#define Y SE
#define PB push_back
#define MP make_pair
#define MT make_tuple
#define eps 1e-9
#define SZ(x) (int)(x).size()
#define ALL(x) (x).begin(), (x).end()
#ifndef ONLINE_JUDGE
#define debug(...) printf(__VA_ARGS__)
#else
#define debug(...)
#endif
inline ll getint(){
  ll _x=0,_tmp=1; char _tc=getchar();
  while( (_tc<'0'||_tc>'9')&&_tc!='-' ) _tc=getchar();
  if( _tc == '-' ) _tc=getchar() , _tmp = -1;
  while(_tc>='0'&&_tc<='9') _x*=10,_x+=(_tc-'0'),_tc=getchar();
  return _x*_tmp;
}
inline ll add( ll _x , ll _y , ll _mod = mod7 ){
  ll _ = _x + _y;
  if( _ >= _mod ) _ -= _mod;
  return _;
}
inline ll sub( ll _x , ll _y , ll _mod = mod7 ){
  ll _ = _x - _y;
  if( _ < 0 ) _ += _mod;
  return _;
}
inline ll mul( ll _x , ll _y , ll _mod = mod7 ){
  ll _ = _x * _y;
  if( _ >= _mod ) _ %= _mod;
  return _;
}
ll mypow( ll _a , ll _x , ll _mod ){
  if( _x == 0 ) return 1ll;
  ll _tmp = mypow( _a , _x / 2 , _mod );
  _tmp = mul( _tmp , _tmp , _mod );
  if( _x & 1 ) _tmp = mul( _tmp , _a , _mod );
  return _tmp;
}
ll mymul( ll _a , ll _x , ll _mod ){
  if( _x == 0 ) return 0ll;
  ll _tmp = mymul( _a , _x / 2 , _mod );
  _tmp = add( _tmp , _tmp , _mod );
  if( _x & 1 ) _tmp = add( _tmp , _a , _mod );
  return _tmp;
}
inline bool equal( D _x ,  D _y ){
  return _x > _y - eps && _x < _y + eps;
}
int __ = 1 , _cs;
/*********default*********/
#define X 10
#define M 6
void build(){

}
int ml[]={1,2,4,8};
int n;
string trans( int x ){
  string ss = "0";
  ss[ 0 ] = (char)( x );
  return ss;
}
inline string lea( int aa , int bb , int cc , int kk ){
  return "lea e" + trans( aa + 'a' ) + "x, [e" +
                   trans( bb + 'a' ) + "x + " + trans( ml[ kk ] + '0' ) + "*e" +
                   trans( cc + 'a' ) + "x]";
}
void init(){
  n = getint();
}
vector<string> ans , cur;
int bst = M , r[ X ];
bool got , tag[ 10000 ];
void go( int now , int mx ){
  if( now >= bst || mx > n || got ) return;
  if( mx == n ){
    got = true;
    ans = cur;
    bst = now;
    ans.resize( bst );
    return;
  }
  // if( now + 1 >= bst ) return;
  for( int i = 0 ; i <= now ; i ++ ){
    for( int k = 3 ; k >= 0 ; k -- ){
      r[ now + 1 ] = ml[ k ] * r[ i ];
      if( tag[ r[ now + 1 ] ] ) continue;
      tag[ r[ now + 1 ] ] = true;
      cur[ now ] = lea( now + 1 , X , i , k );
      if( r[ now + 1 ] > mx )
        go( now + 1 , r[ now + 1 ] );
      tag[ r[ now + 1 ] ] = false;
      if( bst == now + 1 || got ) return;
    }
    for( int j = 0 ; j <= now ; j ++ )
      for( int k = 3 ; k >= 0 ; k -- ){
        r[ now + 1 ] = r[ i ] + ml[ k ] * r[ j ];
        if( tag[ r[ now + 1 ] ] ) continue;
        tag[ r[ now + 1 ] ] = true;
        cur[ now ] = lea( now + 1 , i , j , k );
        if( r[ now + 1 ] > mx )
          go( now + 1 , r[ now + 1 ] );
        tag[ r[ now + 1 ] ] = false;
        if( bst == now + 1 || got ) return;
      }
  }
}
void solve(){
  cur.resize( M );
  for( bst = 2 ; ; bst ++ ){
    r[ 0 ] = 1;
    for( int i = 1 ; i < X ; i ++ ) r[ i ] = 0;
    tag[ 0 ] = true;
    tag[ 1 ] = true;
    go( 0 , 1 );
    if( got ){
      printf( "%d\n" , (int)ans.size() );
      for( size_t i = 0 ; i < ans.size() ; i ++ )
        cout << ans[ i ] << endl;
      exit( 0 );
    }
  }
}
int main(){
  build();
  //__ = getint();
  while( __ -- ){
    init();
    solve();
  }
}


#include <iostream>
#include <sstream>
#include <string>
#include <vector>
#include <deque>
#include <queue>
#include <set>
#include <map>
#include <algorithm>
#include <functional>
#include <utility>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <cstdio>

using namespace std;

#define REP(i,n) for((i)=0;(i)<(int)(n);(i)++)
#define foreach(c,itr) for(__typeof((c).begin()) itr=(c).begin();itr!=(c).end();itr++)

int a[100];
string command[100];

string ex(int id){
    string ans = "eax";
    ans[1] += id;
    return ans;
}

bool dfs(int MAX, int pos, int N){
    int i,j,k;

    if(a[pos] > N) return false;
    if(pos == MAX){
        if(a[pos] != N) return false;
        cout << MAX << endl;
        REP(i,MAX) cout << command[i] << endl;
        return true;
    }

    REP(i,pos+1) for(k=1;k<=8;k*=2){
        a[pos+1] = a[i] * k;
        if(a[pos+1] > N) continue;
        if(pos+1 == MAX && a[pos+1] != N) continue;
        command[pos] = "lea " + ex(pos+1) + ", [" + (char)('0' + k) + "*" + ex(i) + "]";
        if(dfs(MAX,pos+1,N)) return true;
    }

    REP(i,pos+1) REP(j,pos+1) for(k=1;k<=8;k*=2){
        a[pos+1] = a[i] * k + a[j];
        if(a[pos+1] > N) continue;
        if(pos+1 == MAX && a[pos+1] != N) continue;
        command[pos] = "lea " + ex(pos+1) + ", [" + ex(j) + " + " + (char)('0' + k) + "*" + ex(i) + "]";
        if(dfs(MAX,pos+1,N)) return true;
    }
}

int main(void){
    int N,i;
    cin >> N;
    a[0] = 1;
    for(i=0;;i++) if(dfs(i,0,N)) break;
    return 0;
}


// luogu-judger-enable-o2
#include<bits/stdc++.h>
using namespace std;
string s[255]={"0\n",
"1\nlea ebx, [2*eax]\n",
"1\nlea ebx, [eax + 2*eax]\n",
"1\nlea ebx, [4*eax]\n",
"1\nlea ebx, [eax + 4*eax]\n",
"2\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\n",
"2\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*eax]\n",
"1\nlea ebx, [8*eax]\n",
"1\nlea ebx, [eax + 8*eax]\n",
"2\nlea ebx, [2*eax]\nlea ecx, [ebx + 8*eax]\n",
"2\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 8*eax]\n",
"2\nlea ebx, [4*eax]\nlea ecx, [ebx + 8*eax]\n",
"2\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*ebx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 4*ecx]\n",
"2\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*ebx]\n",
"2\nlea ebx, [2*eax]\nlea ecx, [8*ebx]\n",
"2\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\n",
"2\nlea ebx, [2*eax]\nlea ecx, [ebx + 8*ebx]\n",
"2\nlea ebx, [eax + 8*eax]\nlea ecx, [eax + 2*ebx]\n",
"2\nlea ebx, [4*eax]\nlea ecx, [ebx + 4*ebx]\n",
"2\nlea ebx, [eax + 4*eax]\nlea ecx, [eax + 4*ebx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ebx + 4*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ebx + 4*ecx]\n",
"2\nlea ebx, [8*eax]\nlea ecx, [ebx + 2*ebx]\n",
"2\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 8*ebx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 8*ecx]\n",
"2\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 8*ebx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ecx + 8*ebx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 4*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 8*ebx]\n",
"2\nlea ebx, [4*eax]\nlea ecx, [8*ebx]\n",
"2\nlea ebx, [4*eax]\nlea ecx, [eax + 8*ebx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [4*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 2*ecx]\n",
"2\nlea ebx, [4*eax]\nlea ecx, [ebx + 8*ebx]\n",
"2\nlea ebx, [eax + 8*eax]\nlea ecx, [eax + 4*ebx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 8*eax]\nlea edx, [ebx + 4*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 8*eax]\nlea edx, [ebx + 4*ecx]\n",
"2\nlea ebx, [8*eax]\nlea ecx, [ebx + 4*ebx]\n",
"2\nlea ebx, [eax + 4*eax]\nlea ecx, [eax + 8*ebx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ebx + 8*ecx]\n",
"2\nlea ebx, [eax + 4*eax]\nlea ecx, [ebx + 8*ebx]\n",
"3\nlea ebx, [eax + 4*eax]\nlea ecx, [ebx + 1*eax]\nlea edx, [ecx + 8*ebx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [ebx + 4*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [8*ebx]\nlea edx, [ecx + 2*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [eax + 8*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 2*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [ebx + 2*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*ebx]\nlea edx, [eax + 4*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 8*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [ecx + 4*ecx]\n",
"3\nlea ebx, [8*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ebx + 4*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [eax + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 4*eax]\nlea eex, [ebx + 8*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [ecx + 4*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*ebx]\nlea edx, [eax + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 4*ecx]\nlea eex, [ebx + 4*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 8*ecx]\n",
"2\nlea ebx, [8*eax]\nlea ecx, [8*ebx]\n",
"2\nlea ebx, [8*eax]\nlea ecx, [eax + 8*ebx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [8*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 2*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [4*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 4*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ebx + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [eax + 8*ebx]\nlea eex, [ecx + 4*edx]\n",
"2\nlea ebx, [8*eax]\nlea ecx, [ebx + 8*ebx]\n",
"2\nlea ebx, [eax + 8*eax]\nlea ecx, [eax + 8*ebx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 8*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 8*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [eax + 8*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [eax + 4*eax]\nlea ecx, [eax + 8*eax]\nlea edx, [ebx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [ebx + 4*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [ecx + 4*edx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [8*ebx]\nlea edx, [ecx + 4*ecx]\n",
"2\nlea ebx, [eax + 8*eax]\nlea ecx, [ebx + 8*ebx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [eax + 4*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 2*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [ebx + 4*ebx]\nlea edx, [ebx + 4*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [ebx + 4*edx]\n",
"3\nlea ebx, [eax + 4*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ebx + 2*ecx]\n",
"3\nlea ebx, [8*eax]\nlea ecx, [ebx + 2*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [eax + 8*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [ecx + 8*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [ebx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ecx + 8*ecx]\nlea eex, [ebx + 2*edx]\n",
"3\nlea ebx, [eax + 4*eax]\nlea ecx, [eax + 2*ebx]\nlea edx, [ebx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [ecx + 4*edx]\n",
"3\nlea ebx, [eax + 4*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [ebx + 2*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [8*ebx]\nlea edx, [ecx + 2*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [eax + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [4*eax]\nlea edx, [ecx + 8*eax]\nlea eex, [ebx + 8*edx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 2*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [4*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [edx + 2*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ebx + 4*ecx]\n",
"3\nlea ebx, [8*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*ebx]\nlea edx, [eax + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [eax + 4*ecx]\nlea eex, [ebx + 8*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*ebx]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [ecx + 8*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [eax + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 8*ecx]\nlea eex, [ebx + 4*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [ebx + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [8*ebx]\nlea edx, [ecx + 8*eax]\nlea eex, [ecx + 4*edx]\n",
"3\nlea ebx, [eax + 8*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ebx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 4*ecx]\nlea eex, [ebx + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 4*ecx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [ebx + 4*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*ebx]\nlea edx, [ecx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 8*eax]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 2*ecx]\nlea eex, [edx + 4*ecx]\n",
"3\nlea ebx, [8*eax]\nlea ecx, [ebx + 2*ebx]\nlea edx, [ecx + 4*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*ebx]\nlea edx, [eax + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 4*ecx]\nlea eex, [ebx + 8*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*ebx]\nlea edx, [ebx + 8*ecx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 4*ecx]\nlea eex, [ebx + 8*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 4*ecx]\nlea eex, [edx + 8*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 8*eax]\nlea eex, [ecx + 8*edx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [8*ebx]\nlea edx, [8*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [8*ebx]\nlea edx, [eax + 8*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [8*ebx]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [8*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 2*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [4*ebx]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [4*eax]\nlea edx, [eax + 8*ecx]\nlea eex, [ebx + 4*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*ebx]\nlea edx, [ecx + 8*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [8*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 8*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ebx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [eax + 8*ebx]\nlea eex, [ecx + 8*edx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [eax + 4*ebx]\nlea edx, [ebx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [eax + 8*ebx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [eax + 8*ebx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [ecx + 4*edx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [8*ebx]\nlea edx, [ecx + 8*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [eax + 8*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [eax + 8*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 2*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [ebx + 4*ecx]\n",
"3\nlea ebx, [eax + 8*eax]\nlea ecx, [eax + 4*ebx]\nlea edx, [eax + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 8*eax]\nlea edx, [eax + 4*ecx]\nlea eex, [ebx + 4*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 8*eax]\nlea edx, [eax + 4*ecx]\nlea eex, [ebx + 4*edx]\n",
"3\nlea ebx, [8*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [ebx + 2*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [ebx + 8*edx]\n",
"3\nlea ebx, [eax + 8*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ebx + 2*ecx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 4*ebx]\nlea eex, [ebx + 8*edx]\n",
"3\nlea ebx, [eax + 8*eax]\nlea ecx, [eax + 4*ebx]\nlea edx, [ebx + 4*ecx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [ebx + 2*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [ecx + 4*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 8*eax]\nlea edx, [ebx + 4*ecx]\nlea eex, [ebx + 4*edx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [8*ebx]\nlea edx, [ecx + 4*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [ebx + 4*ebx]\nlea edx, [eax + 8*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [ecx + 8*ecx]\n",
"3\nlea ebx, [eax + 8*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [eax + 2*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [ebx + 4*ebx]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [eax + 8*ecx]\nlea eex, [ebx + 4*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 2*eax]\nlea eex, [edx + 4*ecx]\n",
"3\nlea ebx, [8*eax]\nlea ecx, [ebx + 4*ebx]\nlea edx, [ebx + 4*ecx]\n",
"3\nlea ebx, [eax + 4*eax]\nlea ecx, [eax + 4*ebx]\nlea edx, [eax + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [4*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [edx + 4*edx]\n",
"3\nlea ebx, [eax + 8*eax]\nlea ecx, [eax + 2*ebx]\nlea edx, [ecx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [eax + 8*ecx]\nlea eex, [ecx + 2*edx]\n",
"3\nlea ebx, [eax + 4*eax]\nlea ecx, [eax + 4*ebx]\nlea edx, [ebx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [eax + 4*ecx]\nlea eex, [ecx + 4*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 2*ecx]\nlea eex, [edx + 4*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [8*ebx]\nlea edx, [ecx + 4*eax]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ebx + 4*ecx]\nlea eex, [eax + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ebx + 4*ecx]\nlea eex, [ebx + 8*edx]\n",
"4\nlea ebx, [8*eax]\nlea ecx, [eax + 2*ebx]\nlea edx, [ecx + 8*ebx]\nlea eex, [ecx + 2*edx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [ebx + 4*ebx]\nlea edx, [ecx + 8*ecx]\n",
"3\nlea ebx, [eax + 4*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [eax + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ecx + 8*ecx]\nlea eex, [ebx + 4*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ecx + 8*ecx]\nlea eex, [ebx + 4*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ecx + 8*ecx]\nlea eex, [ebx + 4*edx]\n",
"3\nlea ebx, [eax + 4*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [ebx + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [ebx + 2*ecx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 2*ecx]\nlea eex, [edx + 8*ecx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [ecx + 4*edx]\n",
"3\nlea ebx, [eax + 4*eax]\nlea ecx, [eax + 4*ebx]\nlea edx, [ecx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 8*eax]\nlea edx, [ebx + 4*ecx]\nlea eex, [edx + 4*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [eax + 4*ecx]\nlea eex, [ecx + 4*edx]\n",
"3\nlea ebx, [8*eax]\nlea ecx, [8*ebx]\nlea edx, [ecx + 2*ecx]\n",
"3\nlea ebx, [8*eax]\nlea ecx, [ebx + 2*ebx]\nlea edx, [eax + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [8*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [ebx + 8*edx]\n",
"3\nlea ebx, [8*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 2*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [eax + 8*ecx]\nlea eex, [4*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [eax + 8*ecx]\nlea eex, [eax + 4*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [8*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [edx + 2*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 2*ecx]\nlea eex, [edx + 4*ecx]\n",
"3\nlea ebx, [8*eax]\nlea ecx, [ebx + 2*ebx]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [eax + 8*ecx]\nlea eex, [ebx + 8*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ebx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [4*ecx]\nlea eex, [edx + 8*ecx]\n",
"3\nlea ebx, [eax + 4*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [eax + 4*ecx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 4*ecx]\nlea eex, [edx + 2*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [8*ebx]\nlea edx, [ecx + 8*eax]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [eax + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [ebx + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [ebx + 2*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [ebx + 4*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 4*ebx]\nlea edx, [ecx + 8*ebx]\nlea eex, [ecx + 4*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ebx + 4*ecx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [edx + 4*edx]\n",
"3\nlea ebx, [8*eax]\nlea ecx, [ebx + 2*ebx]\nlea edx, [ecx + 8*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [eax + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 8*ecx]\nlea eex, [ebx + 8*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [ebx + 8*ecx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 8*ecx]\nlea eex, [ebx + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 2*ecx]\nlea eex, [ecx + 4*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 8*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [edx + 2*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ebx + 8*ebx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [8*ebx]\nlea edx, [ecx + 4*ebx]\nlea eex, [ecx + 4*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [ecx + 8*eax]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [ebx + 8*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 4*ebx]\nlea eex, [ecx + 4*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [ebx + 2*eax]\nlea edx, [ebx + 4*ecx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 2*ecx]\nlea eex, [edx + 4*ecx]\n",
"4\nlea ebx, [8*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ebx + 4*ecx]\nlea eex, [ebx + 8*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [eax + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [edx + 8*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [ebx + 8*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [ecx + 4*ebx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [eax + 4*eax]\nlea ecx, [ebx + 1*eax]\nlea edx, [ebx + 4*ecx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [eax + 4*ecx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [8*ebx]\nlea edx, [ecx + 2*ecx]\nlea eex, [edx + 4*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 4*ecx]\nlea eex, [eax + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 4*ecx]\nlea eex, [ebx + 8*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [ecx + 8*ecx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [ebx + 2*eax]\nlea edx, [ecx + 4*ecx]\nlea eex, [ebx + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [eax + 8*ecx]\nlea eex, [edx + 4*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 4*ecx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*ebx]\nlea edx, [ecx + 8*ecx]\nlea eex, [ecx + 2*edx]\n",
"4\nlea ebx, [8*eax]\nlea ecx, [ebx + 2*eax]\nlea edx, [ecx + 2*ecx]\nlea eex, [ebx + 8*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [eax + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [edx + 4*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [ebx + 8*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [edx + 8*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 8*ecx]\nlea eex, [eax + 4*edx]\n",
"5\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 4*eax]\nlea eex, [edx + 8*edx]\nlea efx, [ebx + 4*eex]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 2*ecx]\nlea eex, [edx + 4*edx]\n",
};
int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int n;
    cin>>n;
    cout<<s[n-1];
    return 0;
}


#include <algorithm>
#include <cstdio>
#include <iostream>
#include <cfloat>
#include <climits>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <queue>
#include <sstream>
#include <stack>
#include <time.h>
#include <vector>
#include <complex>
#include <map>
#include <set>
#include <iomanip>
#include <math.h>
#include <stdlib.h>
#include <list>
#include <utility>
#include <memory>
#include <cstring>
#include <fstream>
#include <numeric>
#include <assert.h>
#include <bitset>
#include <ios>
#include <bits/stdc++.h>
using namespace std;
int cnt[6],ok[6];
int n;
int ans=6;
void dfs(int x){
	if (x>=ans) return;
	for (int i=0;i<x;i++) for (int k=0;k<4;k++){
		int o=1<<k;
		cnt[x]=o*cnt[i];
		if (cnt[x]<cnt[x-1]) continue;
		if (cnt[x]>n) break;
		if (cnt[x]==n){
			ans=x;
			for (int i=1;i<=x;i++) ok[i]=cnt[i];
			return;
		}
		dfs(x+1);
	}
	for (int i=0;i<x;i++) for (int j=0;j<x;j++) for (int k=0;k<4;k++){
		int o=1<<k;
		cnt[x]=cnt[i]+cnt[j]*o;
		if (cnt[x]<cnt[x-1]) continue;
		if (cnt[x]>n) break;
		if (cnt[x]==n){
			ans=x;
			for (int i=1;i<=x;i++) ok[i]=cnt[i];
			return;
		}
		dfs(x+1);
	}
}
string dat[6]={"eax","ebx","ecx","edx","eex","edx"};
void summon_ans(int x){
	if (x>ans) return;
	cout<<"lea "<<dat[x]<<", [";
	bool t=0;
	for (int i=0;i<x && !t;i++) for (int k=0;k<4;k++){
		int o=1<<k;
		if (o*ok[i]==ok[x]){
			cout<<(char)(o+'0')<<"*"<<dat[i]<<"]";
			t=1;
			break;
		}
	}
	for (int i=0;i<x && !t;i++) for (int j=0;j<x && !t;j++) for (int k=0;k<4;k++){
		int o=1<<k;
		int q=ok[i]+ok[j]*o;
		if (q==ok[x]){
			cout<<dat[i]<<" + "<<(char)(o+'0')<<"*"<<dat[j]<<"]";
			t=1;
			break;
		}
	}
	cout<<"\n";
	summon_ans(x+1);
}
int main(){
	cin>>n;
	cnt[0]=1;ok[0]=1;
	if (n==1){
		puts("0");return 0;
	}
	dfs(1);
	cout<<ans<<"\n";
	summon_ans(1);
}


#include <cstdio>
#include <cstring>
#include <cctype>
#include <cassert>
#include <iostream>
using std::cin; using std::cout; using std::endl;
#include <algorithm>
using std::sort; using std::min; using std::max;
#include <vector>
using std::vector;
#include <set>
using std::set;
#include <queue>
using std::queue; using std::priority_queue;
#include <utility>
using std::pair;
typedef pair<int, int> pii;
typedef long long LL;
typedef long double LD;
typedef unsigned long long ULL;
#define pass printf("%s : Line.%d\n", __FUNCTION__, __LINE__);

const int maxN = 255;
const ULL P = 123456789987654321;
int n;
int max_depth = 0;

struct Strategy {
	int t, y, z, k;
	Strategy() {}
	Strategy(int t, int y, int z, int k) : t(t), y(y), z(z), k(k) {}
};
vector<Strategy> st;
int seq[26];
set<ULL> S;
ULL p[maxN];

void print() {
	printf("%d\n", (int)st.size());
	for(int i = 0; i < (int)st.size(); ++i) {
		Strategy s = st[i];
		if(st[i].t == 2) printf("lea e%cx, [e%cx + e%cx]\n", i + 'a' + 1,
			s.y + 'a', s.z + 'a');
		else if(st[i].t == 3) printf("lea e%cx, [%d*e%cx]\n", i + 'a' + 1,
			s.k, s.y + 'a');
		else if(st[i].t == 4) printf("lea e%cx, [e%cx + %d*e%cx]\n", i + 'a' + 1,
			s.y + 'a', s.k, s.z + 'a');
		else assert(false);
	}
}

bool DFS(int d, ULL h) {
	if(seq[d - 1] == n) {
		print();
		return true;
	}
	if(d == max_depth) return false;
	// t = 2
	for(int i = 0; i < d; ++i) for(int j = i; j < d; ++j) {
		int nv = seq[i] + seq[j];
		ULL nh = h + p[d] * nv;
		if(nv <= seq[d - 1]) continue;
		seq[d] = nv;
//		if(S.count(nh)) continue;
//		else S.insert(nh);
		st.push_back(Strategy(2, i, j, -1));
		if(DFS(d + 1, nh)) return true;
		st.pop_back();
	}
	// t = 3
	for(int i = 0; i < d; ++i) {
		for(int k = 1; k <= 8; k <<= 1) {
			int nv = k * seq[i];
			ULL nh = h + p[d] * nv;
			if(nv <= seq[d - 1]) continue;
			seq[d] = nv;
//			if(S.count(nh)) continue;
//			else S.insert(nh);
			st.push_back(Strategy(3, i, -1, k));
			if(DFS(d + 1, nh)) return true;
			st.pop_back();
			for(int j = 0; j < d; ++j) {
				nv = seq[j] + k * seq[i];
				nh = h + p[d] * nv;
				if(nv <= seq[d - 1]) continue;
				seq[d] = nv;
//				if(S.count(nh)) continue;
//				else S.insert(nh);
				st.push_back(Strategy(4, j, i, k));
				if(DFS(d + 1, nh)) return true;
				st.pop_back();
			}
		}
	}
	return false;
}

int main() {
	p[0] = 1;
	for(int i = 1; i < maxN; ++i) p[i] = p[i - 1] * P;
	cin >> n;
//for(n = 1; n <= 255; ++n) {
//	cout << "n = " << n << endl;

	for(max_depth = 1; max_depth <= 26; ++max_depth) {
		S.clear();
		memset(seq, 0, sizeof(seq));
		seq[0] = 1;
		S.insert(1); st.clear();
		if(DFS(1, 1)) break;
	} // }
	return 0;
}


#include <cstdio>
#include <cstring>
#include <cctype>
#include <cassert>
#include <iostream>
using std::cin; using std::cout; using std::endl;
#include <algorithm>
using std::sort; using std::min; using std::max;
#include <vector>
using std::vector;
#include <set>
using std::set;
#include <queue>
using std::queue; using std::priority_queue;
#include <utility>
using std::pair;
typedef pair<int, int> pii;
typedef long long LL;
typedef long double LD;
typedef unsigned long long ULL;
#define pass printf("%s : Line.%d\n", __FUNCTION__, __LINE__);

const int maxN = 255;
const ULL P = 123456789987654321;
int n;
int max_depth = 0;

struct Strategy {
	int t, y, z, k;
	Strategy() {}
	Strategy(int t, int y, int z, int k) : t(t), y(y), z(z), k(k) {}
};
vector<Strategy> st;
int seq[26];
set<ULL> S;
ULL p[maxN];

void print() {
	printf("%d\n", (int)st.size());
	for(int i = 0; i < (int)st.size(); ++i) {
		Strategy s = st[i];
		if(st[i].t == 2) printf("lea e%cx, [e%cx + e%cx]\n", i + 'a' + 1,
			s.y + 'a', s.z + 'a');
		else if(st[i].t == 3) printf("lea e%cx, [%d*e%cx]\n", i + 'a' + 1,
			s.k, s.y + 'a');
		else if(st[i].t == 4) printf("lea e%cx, [e%cx + %d*e%cx]\n", i + 'a' + 1,
			s.y + 'a', s.k, s.z + 'a');
		else assert(false);
	}
}

bool DFS(int d, ULL h) {
	if(seq[d - 1] == n) {
		print();
		return true;
	}
	if(d == max_depth) return false;
	// t = 2
	for(int i = 0; i < d; ++i) for(int j = i; j < d; ++j) {
		int nv = seq[i] + seq[j];
		ULL nh = h + p[d] * nv;
		if(nv <= seq[d - 1]) continue;
		seq[d] = nv;
		if(S.count(nh)) continue;
		else S.insert(nh);
		st.push_back(Strategy(2, i, j, -1));
		if(DFS(d + 1, nh)) return true;
		st.pop_back();
	}
	// t = 3
	for(int i = 0; i < d; ++i) {
		for(int k = 1; k <= 8; k <<= 1) {
			int nv = k * seq[i];
			ULL nh = h + p[d] * nv;
			if(nv <= seq[d - 1]) continue;
			seq[d] = nv;
			if(S.count(nh)) continue;
			else S.insert(nh);
			st.push_back(Strategy(3, i, -1, k));
			if(DFS(d + 1, nh)) return true;
			st.pop_back();
			for(int j = 0; j < d; ++j) {
				nv = seq[j] + k * seq[i];
				nh = h + p[d] * nv;
				if(nv <= seq[d - 1]) continue;
				seq[d] = nv;
				if(S.count(nh)) continue;
				else S.insert(nh);
				st.push_back(Strategy(4, j, i, k));
				if(DFS(d + 1, nh)) return true;
				st.pop_back();
			}
		}
	}
	return false;
}

int main() {
	p[0] = 1;
	for(int i = 1; i < maxN; ++i) p[i] = p[i - 1] * P;
	cin >> n;
//for(n = 1; n <= 255; ++n) {
//	cout << "n = " << n << endl;

	for(max_depth = 1; max_depth <= 26; ++max_depth) {
		S.clear();
		memset(seq, 0, sizeof(seq));
		seq[0] = 1;
		S.insert(1); st.clear();
		if(DFS(1, 1)) break;
	} // }
	return 0;
}


#include <cstdio>
#include <cstring>
#include <cctype>
#include <cassert>
#include <iostream>
using std::cin; using std::cout; using std::endl;
#include <algorithm>
using std::sort; using std::min; using std::max;
#include <vector>
using std::vector;
#include <set>
using std::set;
#include <queue>
using std::queue; using std::priority_queue;
#include <utility>
using std::pair;
typedef pair<int, int> pii;
typedef long long LL;
typedef long double LD;
typedef unsigned long long ULL;
#define pass printf("%s : Line.%d\n", __FUNCTION__, __LINE__);

const int maxN = 255;
const ULL P = 123456789987654321;
int n;
int max_depth = 0;

struct Strategy {
	int t, y, z, k;
	Strategy() {}
	Strategy(int t, int y, int z, int k) : t(t), y(y), z(z), k(k) {}
};
vector<Strategy> st;
int seq[26];
set<ULL> S;
ULL p[maxN];

void print() {
	printf("%d\n", (int)st.size());
	for(int i = 0; i < (int)st.size(); ++i) {
		Strategy s = st[i];
		if(st[i].t == 2) printf("lea e%cx, [e%cx + e%cx]\n", i + 'a' + 1,
			s.y + 'a', s.z + 'a');
		else if(st[i].t == 3) printf("lea e%cx, [%d*e%cx]\n", i + 'a' + 1,
			s.k, s.y + 'a');
		else if(st[i].t == 4) printf("lea e%cx, [e%cx + %d*e%cx]\n", i + 'a' + 1,
			s.y + 'a', s.k, s.z + 'a');
		else assert(false);
	}
}

bool DFS(int d, ULL h) {
	if(seq[d - 1] > 255) return false;
	if(seq[d - 1] == n) {
		print();
		return true;
	}
	if(d >= max_depth) return false;
	// t = 2
	for(int i = 0; i < d; ++i) for(int j = i; j < d; ++j) {
		int nv = seq[i] + seq[j];
		ULL nh = h + p[d] * nv;
		if(nv <= seq[d - 1]) continue;
		seq[d] = nv;
		if(S.count(nh)) continue;
		else S.insert(nh);
		st.push_back(Strategy(2, i, j, -1));
		if(DFS(d + 1, nh)) return true;
		st.pop_back();
	}
	// t = 3
	for(int i = 0; i < d; ++i) {
		for(int k = 2; k <= 8; k <<= 1) {
			int nv; ULL nh;
			for(int j = 0; j < d; ++j) {
				nv = seq[j] + k * seq[i];
				nh = h + p[d] * nv;
				if(nv <= seq[d - 1]) continue;
				seq[d] = nv;
				if(S.count(nh)) continue;
				else S.insert(nh);
				st.push_back(Strategy(4, j, i, k));
				if(DFS(d + 1, nh)) return true;
				st.pop_back();
			}

			nv = k * seq[i];
			nh = h + p[d] * nv;
			if(nv <= seq[d - 1]) continue;
			seq[d] = nv;
			if(S.count(nh)) continue;
			else S.insert(nh);
			st.push_back(Strategy(3, i, -1, k));
			if(DFS(d + 1, nh)) return true;
			st.pop_back();

		}
	}
	return false;
}

int main() {
	p[0] = 1;
	for(int i = 1; i < maxN; ++i) p[i] = p[i - 1] * P;
	cin >> n;
//for(n = 1; n <= 255; ++n) {
//	cout << "n = " << n << endl;

	for(max_depth = 1; max_depth <= 26; ++max_depth) {
//		printf("maxd = %d\n", max_depth);
		S.clear();
		memset(seq, 0, sizeof(seq));
		seq[0] = 1;
		S.insert(1); st.clear();
		if(DFS(1, 1)) break;
	} // }
	return 0;
}


#include <algorithm>
#include <iostream>
#include <cstring>
#include <vector>
#include <cstdio>
#include <string>
#include <cmath>
#include <queue>
#include <set>
#include <map>
using namespace std;
typedef long long ll;
typedef double db;
typedef pair<int,int> pii;
typedef vector<int> vi;
#define de(x) cout << #x << "=" << x << endl
#define rep(i,a,b) for(int i=a;i<(b);++i)
#define all(x) (x).begin(),(x).end()
#define sz(x) (int)(x).size()
#define mp make_pair
#define pb push_back
#define fi first
#define se second
#define setIO(x) freopen(x".in","r",stdin);freopen(x".out","w",stdout)
int n , ans , reg[26] = {1};
char s[100][100];

bool dfs(int dep){
    if(reg[dep] == n) return true;
    if(dep >= ans || reg[dep] > n) return false;
    ++dep;rep(i,-1,dep) rep(j,0,dep){
        int ii = i;if(ii == -1) ii = 25;
        for(int k=1;k<=8;k<<=1) {
            reg[dep] = reg[ii]+k*reg[j];
            if(dfs(dep)){
                sprintf(s[dep],"lea e%cx, [e%cx + %d*e%cx]",dep+'a',ii+'a',k,j+'a');
                return true;
            }
        }
    }
    return false;
}

int main(){
    scanf("%d",&n);
    for(ans=0;!dfs(0);++ans);
    rep(i,1,ans+1) printf("%s\n",s[i]);
    return 0;
}


#include <algorithm>
#include <iostream>
#include <cstring>
#include <vector>
#include <cstdio>
#include <string>
#include <cmath>
#include <queue>
#include <set>
#include <map>
using namespace std;
typedef long long ll;
typedef double db;
typedef pair<int,int> pii;
typedef vector<int> vi;
#define de(x) cout << #x << "=" << x << endl
#define rep(i,a,b) for(int i=a;i<(b);++i)
#define all(x) (x).begin(),(x).end()
#define sz(x) (int)(x).size()
#define mp make_pair
#define pb push_back
#define fi first
#define se second
#define setIO(x) freopen(x".in","r",stdin);freopen(x".out","w",stdout)
int n , ans , reg[26] = {1};
char s[100][100];

bool dfs(int dep){
    if(reg[dep] == n) return true;
    if(dep >= ans || reg[dep] > n) return false;
    ++dep;rep(i,-1,dep) rep(j,0,dep){
        int ii = i;if(ii == -1) ii = 25;
        for(int k=1;k<=8;k<<=1) {
            reg[dep] = reg[ii]+k*reg[j];
            if(dfs(dep)){
                sprintf(s[dep],"lea e%cx, [e%cx + %d*e%cx]",dep+'a',ii+'a',k,j+'a');
                return true;
            }
        }
    }
    return false;
}

int main(){
    scanf("%d",&n);
    for(ans=0;!dfs(0);++ans);
    printf("%d\n",ans);
    rep(i,1,ans+1) printf("%s\n",s[i]);
    return 0;
}


#include <algorithm>
#include <iostream>
#include <cstring>
#include <vector>
#include <cstdio>
#include <string>
#include <cmath>
#include <queue>
#include <set>
#include <map>
using namespace std;
typedef long long ll;
typedef double db;
typedef pair<int,int> pii;
typedef vector<int> vi;
#define de(x) cout << #x << "=" << x << endl
#define rep(i,a,b) for(int i=a;i<(b);++i)
#define all(x) (x).begin(),(x).end()
#define sz(x) (int)(x).size()
#define mp make_pair
#define pb push_back
#define fi first
#define se second
#define setIO(x) freopen(x".in","r",stdin);freopen(x".out","w",stdout)
int n , ans , reg[26] = {1};
char s[100][100];

bool dfs(int dep){
    if(reg[dep] == n) return true;
    if(dep >= ans || reg[dep] > n) return false;
    ++dep;rep(i,0,dep+1) rep(j,0,dep){
        int ii = i;if(ii == dep) ii = 25;
        for(int k=1;k<=8;k<<=1) {
            reg[dep] = reg[ii]+k*reg[j];
            if(dfs(dep)){
                sprintf(s[dep],"lea e%cx, [e%cx + %d*e%cx]",dep+'a',ii+'a',k,j+'a');
                return true;
            }
        }
    }
    return false;
}

int main(){
    scanf("%d",&n);
    for(ans=0;!dfs(0);++ans);
    printf("%d\n",ans);
    rep(i,1,ans+1) printf("%s\n",s[i]);
    return 0;
}


//Written by Zhu Zeqi
//Come on,baby
//Hack,please
#include <iostream>
#include <cstdio>
#include <fstream>
#include <algorithm>
#include <cmath>
#include <deque>
#include <vector>
#include <queue>
#include <string>
#include <cstring>
#include <map>
#include <stack>
#include <set>
#define INF 0x3f3f3f3f
typedef long long ll;
//orz yht
using namespace std;
int n,a[260];
string sol[260];
void dfs(int stp,int pos){
	if(a[pos]>n)
	return;
	if(stp==pos){
		if(a[pos]!=n)
		return;
		cout<<pos<<endl;
		for(int i=0;i<pos;i++)
		cout<<sol[i]<<endl;
		exit(0);
	}
	for(int i=0;i<=pos;i++){
		for(int k=1;k<=8;k*=2){
			a[pos+1]=a[i]*k;
			if(a[pos+1]>n)
			continue;
			if(pos+1==stp && a[pos+1]!=n)
			continue;
			string res1="eax",res2="eax";
			res1[1]+=pos+1;
			res2[1]+=i;
			sol[pos]="lea "+res1+", ["+(char)('0'+k)+"*"+res2+"]";
			dfs(stp,pos+1);
		}
	}
	for(int i=0;i<=pos;i++){
		for(int j=0;j<=pos;j++){
			for(int k=1;k<=8;k*=2){
				a[pos+1]=a[i]+a[j]*k;
				if(a[pos+1]>n)
				continue;
				if(pos+1==stp && a[pos+1]!=n)
				continue;
				string res1="eax",res2="eax",res3="eax";
				res1[1]+=pos+1;
				res2[1]+=i;
				res3[1]+=j;
				sol[pos]="lea "+res1+", ["+res2+" + "+(char)('0'+k)+"*"+res3+"]";
				dfs(stp,pos+1);
			}
		}
	}
	return;
}
int main(){
//	freopen(".in","r",stdin);
//	freopen(".out","w",stdout);
    cin>>n;
    a[0]=1;
    int i=0;
    while(1){
    	dfs(i,0);
    	i++;
	}
	return 0;
}


//Written by Zhu Zeqi
//Come on,baby
//Hack,please
#include <iostream>
#include <cstdio>
#include <fstream>
#include <algorithm>
#include <cmath>
#include <deque>
#include <vector>
#include <queue>
#include <string>
#include <cstring>
#include <map>
#include <stack>
#include <set>
#define INF 0x3f3f3f3f
typedef long long ll;
//orz yht
using namespace std;
int n,a[260];
string sol[260];
void dfs(int stp,int pos){
	if(a[pos]>n)
	return;
	if(stp==pos){
		if(a[pos]!=n)
		return;
		cout<<pos<<endl;
		for(int i=0;i<pos;i++)
		cout<<sol[i]<<endl;
		exit(0);
	}
	for(int i=0;i<=pos;i++){
		for(int k=1;k<=8;k<<=1){
			a[pos+1]=a[i]*k;
			string res1="eax",res2="eax";
			res1[1]+=pos+1;
			res2[1]+=i;
			sol[pos]="lea "+res1+", ["+(char)('0'+k)+"*"+res2+"]";
			if(a[pos+1]>n)
			continue;
			if(pos+1==stp && a[pos+1]!=n)
			continue;
			dfs(stp,pos+1);
		}
	}
	for(int i=0;i<=pos;i++){
		for(int j=0;j<=pos;j++){
			for(int k=1;k<=8;k<<=1){
				a[pos+1]=a[i]+a[j]*k;
				string res1="eax",res2="eax",res3="eax";
				res1[1]+=pos+1;
				res2[1]+=i;
				res3[1]+=j;
				sol[pos]="lea "+res1+", ["+res2+" + "+(char)('0'+k)+"*"+res3+"]";
				if(a[pos+1]>n)
				continue;
				if(pos+1==stp && a[pos+1]!=n)
				continue;
				dfs(stp,pos+1);
			}
		}
	}
	return;
}
int main(){
//	freopen(".in","r",stdin);
//	freopen(".out","w",stdout);
    cin>>n;
    a[0]=1;
    int i=0;
    while(1){
    	dfs(i,0);
    	i++;
	}
	return 0;
}


#define B cout << "BreakPoint" << endl;
#define O(x) cout << #x << " " << x << endl;
#define O_(x) cout << #x << " " << x << " ";
#define Msz(x) cout << "Sizeof " << #x << " " << sizeof(x)/1024/1024 << " MB" << endl;
#include<cstdio>
#include<cmath>
#include<iostream>
#include<cstring>
#include<algorithm>
#include<queue>
#include<set>
#define LL long long
const int inf = 1e9 + 9;
const int N = 2e5 + 5;
using namespace std;
inline int read() {
	int s = 0,w = 1;
	char ch = getchar();
	while(ch < '0' || ch > '9') {
		if(ch == '-')
			w = -1;
		ch = getchar();
	}
	while(ch >= '0' && ch <= '9') {
		s = s * 10 + ch - '0';
		ch = getchar();
	}
	return s * w;
}
int n,ans,a[25],a1[25],a2[25],a3[25],p[25];
void dfs(int x){
    if(a[x] == n && x == ans){
        printf("%d\n",ans);
        for(int i = 0;i < ans;i++) if(~a2[i]) printf("lea e%cx, [e%cx + %d*e%cx]\n",a1[i] + 'a',a2[i] + 'a',p[i],a3[i] + 'a');
        else printf("lea e%cx, [%d*e%cx]\n",a1[i] + 'a',p[i],a3[i] + 'a');
        exit(0);
    }
    if(x == ans) return;
    for(int i = 0;i <= x;i++)
	for(int j = -1;j <= x;j++)
	for(int k = 1;k < 9;k<<=1){
        if(j + 1) a[x + 1] = a[i] * k + a[j];
        else a[x + 1] = a[i] * k;
        a1[x] = x + 1,a2[x] = j,a3[x] = i,p[x] = k;
        dfs(x + 1);
    }
}
int main(){
    n = read();
    a[0] = 1;
    for(ans = 0;ans <= n;ans++) dfs(0);
}


#define B cout << "BreakPoint" << endl;
#define O(x) cout << #x << " " << x << endl;
#define O_(x) cout << #x << " " << x << " ";
#define Msz(x) cout << "Sizeof " << #x << " " << sizeof(x)/1024/1024 << " MB" << endl;
#include<cstdio>
#include<cmath>
#include<iostream>
#include<cstring>
#include<algorithm>
#include<queue>
#include<set>
#define LL long long
const int inf = 1e9 + 9;
const int N = 2e5 + 5;
using namespace std;
inline int read() {
	int s = 0,w = 1;
	char ch = getchar();
	while(ch < '0' || ch > '9') {
		if(ch == '-')
			w = -1;
		ch = getchar();
	}
	while(ch >= '0' && ch <= '9') {
		s = s * 10 + ch - '0';
		ch = getchar();
	}
	return s * w;
}
int n,ans,val[25],a1[25],a2[25],a3[25],p[25];
void dfs(int x){
    if(val[x] == n && x == ans){
        printf("%d\n",ans);
        for(int i = 0;i < ans;i++) if(!a2[i]) printf("lea e%cx, [e%cx + %d*e%cx]\n",a1[i] + 'a',a2[i] + 'a',p[i],a3[i] + 'a');
        else printf("lea e%cx, [%d*e%cx]\n",a1[i] + 'a',p[i],a3[i] + 'a');
        exit(0);
    }
    if(x == ans) return;
    for(int i = 0;i <= x;i++)
	for(int j = -1;j <= x;j++)
	for(int k = 1;k < 9;k<<=1){
        if(j + 1) val[x + 1] = val[i] * k + val[j];
        else val[x + 1] = val[i] * k;
        a1[x] = x + 1,a2[x] = j,a3[x] = i,p[x] = k;
        dfs(x + 1);
    }
}
int main(){
    n = read();
    val[0] = 1;
    for(ans = 0;ans <= n;ans++) dfs(0);
}


#define B cout << "BreakPoint" << endl;
#define O(x) cout << #x << " " << x << endl;
#define O_(x) cout << #x << " " << x << " ";
#define Msz(x) cout << "Sizeof " << #x << " " << sizeof(x)/1024/1024 << " MB" << endl;
#include<cstdio>
#include<cmath>
#include<iostream>
#include<cstring>
#include<algorithm>
#include<queue>
#include<set>
#define LL long long
const int inf = 1e9 + 9;
const int N = 2e5 + 5;
using namespace std;
inline int read() {
	int s = 0,w = 1;
	char ch = getchar();
	while(ch < '0' || ch > '9') {
		if(ch == '-')
			w = -1;
		ch = getchar();
	}
	while(ch >= '0' && ch <= '9') {
		s = s * 10 + ch - '0';
		ch = getchar();
	}
	return s * w;
}
int n,ans,a[25],a1[25],a2[25],a3[25],p[25];
void dfs(int x){
    if(a[x] == n && x == ans){
        printf("%d\n",ans);
        for(int i = 0;i < ans;i++) if(!a2[i]) printf("lea e%cx, [e%cx + %d*e%cx]\n",a1[i] + 'a',a2[i] + 'a',p[i],a3[i] + 'a');
        else printf("lea e%cx, [%d*e%cx]\n",a1[i] + 'a',p[i],a3[i] + 'a');
        exit(0);
    }
    if(x == ans) return;
    for(int i = 0;i <= x;i++)
	for(int j = -1;j <= x;j++)
	for(int k = 1;k < 9;k<<=1){
        if(j + 1) a[x + 1] = a[i] * k + a[j];
        else a[x + 1] = a[i] * k;
        a1[x] = x + 1,a2[x] = j,a3[x] = i,p[x] = k;
        dfs(x + 1);
    }
}
int main(){
    n = read();
    a[0] = 1;
    for(ans = 0;ans <= n;ans++) dfs(0);
}


#define B cout << "BreakPoint" << endl;
#define O(x) cout << #x << " " << x << endl;
#define O_(x) cout << #x << " " << x << " ";
#define Msz(x) cout << "Sizeof " << #x << " " << sizeof(x)/1024/1024 << " MB" << endl;
#include<cstdio>
#include<cmath>
#include<iostream>
#include<cstring>
#include<algorithm>
#include<queue>
#include<set>
#define LL long long
const int inf = 1e9 + 9;
const int N = 2e5 + 5;
using namespace std;
inline int read() {
	int s = 0,w = 1;
	char ch = getchar();
	while(ch < '0' || ch > '9') {
		if(ch == '-')
			w = -1;
		ch = getchar();
	}
	while(ch >= '0' && ch <= '9') {
		s = s * 10 + ch - '0';
		ch = getchar();
	}
	return s * w;
}
int n,ans,a[25],a1[25],a2[25],a3[25],p[25];
void dfs(int x){
    if(a[x] == n && x == ans){
        printf("%d\n",ans);
        for(int i = 0;i < ans;i++) if(!a2[i]) printf("lea e%cx, [e%cx + %d*e%cx]\n",a1[i] + 'a',a2[i] + 'a',p[i],a3[i] + 'a');
        else printf("lea e%cx, [%d*e%cx]\n",a1[i] + 'a',p[i],a3[i] + 'a');
        exit(0);
    }
    if(x == ans) return;
    for(int i = 0;i <= x;i++)
	for(int j = -1;j <= x;j++)
	for(int k = 1;k < 9;k<<=1){
        if(j + 1) a[x + 1] = a[i] * k + a[j];
        else a[x + 1] = a[i] * k;
        a1[x] = x + 1,a2[x] = j,a3[x] = i,p[x] = k;
        dfs(x + 1);
    }
}
int main(){
    n = read();
    for(ans = 0;ans <= n;ans++) dfs(0);
}


#include<bits/stdc++.h>
using namespace std;
int a;
string bc[255]={"0\n",
"1\nlea ebx, [2*eax]\n",
"1\nlea ebx, [eax + 2*eax]\n",
"1\nlea ebx, [4*eax]\n",
"1\nlea ebx, [eax + 4*eax]\n",
"2\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\n",
"2\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*eax]\n",
"1\nlea ebx, [8*eax]\n",
"1\nlea ebx, [eax + 8*eax]\n",
"2\nlea ebx, [2*eax]\nlea ecx, [ebx + 8*eax]\n",
"2\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 8*eax]\n",
"2\nlea ebx, [4*eax]\nlea ecx, [ebx + 8*eax]\n",
"2\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*ebx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 4*ecx]\n",
"2\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*ebx]\n",
"2\nlea ebx, [2*eax]\nlea ecx, [8*ebx]\n",
"2\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\n",
"2\nlea ebx, [2*eax]\nlea ecx, [ebx + 8*ebx]\n",
"2\nlea ebx, [eax + 8*eax]\nlea ecx, [eax + 2*ebx]\n",
"2\nlea ebx, [4*eax]\nlea ecx, [ebx + 4*ebx]\n",
"2\nlea ebx, [eax + 4*eax]\nlea ecx, [eax + 4*ebx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ebx + 4*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ebx + 4*ecx]\n",
"2\nlea ebx, [8*eax]\nlea ecx, [ebx + 2*ebx]\n",
"2\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 8*ebx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 8*ecx]\n",
"2\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 8*ebx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ecx + 8*ebx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 4*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 8*ebx]\n",
"2\nlea ebx, [4*eax]\nlea ecx, [8*ebx]\n",
"2\nlea ebx, [4*eax]\nlea ecx, [eax + 8*ebx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [4*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 2*ecx]\n",
"2\nlea ebx, [4*eax]\nlea ecx, [ebx + 8*ebx]\n",
"2\nlea ebx, [eax + 8*eax]\nlea ecx, [eax + 4*ebx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 8*eax]\nlea edx, [ebx + 4*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 8*eax]\nlea edx, [ebx + 4*ecx]\n",
"2\nlea ebx, [8*eax]\nlea ecx, [ebx + 4*ebx]\n",
"2\nlea ebx, [eax + 4*eax]\nlea ecx, [eax + 8*ebx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ebx + 8*ecx]\n",
"2\nlea ebx, [eax + 4*eax]\nlea ecx, [ebx + 8*ebx]\n",
"3\nlea ebx, [eax + 4*eax]\nlea ecx, [ebx + 1*eax]\nlea edx, [ecx + 8*ebx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [ebx + 4*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [8*ebx]\nlea edx, [ecx + 2*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [eax + 8*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 2*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [ebx + 2*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*ebx]\nlea edx, [eax + 4*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 8*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [ecx + 4*ecx]\n",
"3\nlea ebx, [8*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ebx + 4*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [eax + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 4*eax]\nlea eex, [ebx + 8*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [ecx + 4*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*ebx]\nlea edx, [eax + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 4*ecx]\nlea eex, [ebx + 4*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 8*ecx]\n",
"2\nlea ebx, [8*eax]\nlea ecx, [8*ebx]\n",
"2\nlea ebx, [8*eax]\nlea ecx, [eax + 8*ebx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [8*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 2*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [4*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 4*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ebx + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [eax + 8*ebx]\nlea eex, [ecx + 4*edx]\n",
"2\nlea ebx, [8*eax]\nlea ecx, [ebx + 8*ebx]\n",
"2\nlea ebx, [eax + 8*eax]\nlea ecx, [eax + 8*ebx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 8*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 8*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [eax + 8*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [eax + 4*eax]\nlea ecx, [eax + 8*eax]\nlea edx, [ebx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [ebx + 4*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [ecx + 4*edx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [8*ebx]\nlea edx, [ecx + 4*ecx]\n",
"2\nlea ebx, [eax + 8*eax]\nlea ecx, [ebx + 8*ebx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [eax + 4*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 2*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [ebx + 4*ebx]\nlea edx, [ebx + 4*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [ebx + 4*edx]\n",
"3\nlea ebx, [eax + 4*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ebx + 2*ecx]\n",
"3\nlea ebx, [8*eax]\nlea ecx, [ebx + 2*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [eax + 8*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [ecx + 8*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [ebx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ecx + 8*ecx]\nlea eex, [ebx + 2*edx]\n",
"3\nlea ebx, [eax + 4*eax]\nlea ecx, [eax + 2*ebx]\nlea edx, [ebx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [ecx + 4*edx]\n",
"3\nlea ebx, [eax + 4*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [ebx + 2*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [8*ebx]\nlea edx, [ecx + 2*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [eax + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [4*eax]\nlea edx, [ecx + 8*eax]\nlea eex, [ebx + 8*edx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 2*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [4*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [edx + 2*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ebx + 4*ecx]\n",
"3\nlea ebx, [8*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*ebx]\nlea edx, [eax + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [eax + 4*ecx]\nlea eex, [ebx + 8*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*ebx]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [ecx + 8*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [eax + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 8*ecx]\nlea eex, [ebx + 4*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [ebx + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [8*ebx]\nlea edx, [ecx + 8*eax]\nlea eex, [ecx + 4*edx]\n",
"3\nlea ebx, [eax + 8*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ebx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 4*ecx]\nlea eex, [ebx + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 4*ecx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [ebx + 4*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*ebx]\nlea edx, [ecx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 8*eax]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 2*ecx]\nlea eex, [edx + 4*ecx]\n",
"3\nlea ebx, [8*eax]\nlea ecx, [ebx + 2*ebx]\nlea edx, [ecx + 4*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*ebx]\nlea edx, [eax + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 4*ecx]\nlea eex, [ebx + 8*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*ebx]\nlea edx, [ebx + 8*ecx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 4*ecx]\nlea eex, [ebx + 8*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 4*ecx]\nlea eex, [edx + 8*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 8*eax]\nlea eex, [ecx + 8*edx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [8*ebx]\nlea edx, [8*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [8*ebx]\nlea edx, [eax + 8*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [8*ebx]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [8*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 2*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [4*ebx]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [4*eax]\nlea edx, [eax + 8*ecx]\nlea eex, [ebx + 4*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*ebx]\nlea edx, [ecx + 8*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [8*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 8*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ebx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [eax + 8*ebx]\nlea eex, [ecx + 8*edx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [eax + 4*ebx]\nlea edx, [ebx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [eax + 8*ebx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [eax + 8*ebx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [ecx + 4*edx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [8*ebx]\nlea edx, [ecx + 8*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [eax + 8*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [eax + 8*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 2*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [ebx + 4*ecx]\n",
"3\nlea ebx, [eax + 8*eax]\nlea ecx, [eax + 4*ebx]\nlea edx, [eax + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 8*eax]\nlea edx, [eax + 4*ecx]\nlea eex, [ebx + 4*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 8*eax]\nlea edx, [eax + 4*ecx]\nlea eex, [ebx + 4*edx]\n",
"3\nlea ebx, [8*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [ebx + 2*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [ebx + 8*edx]\n",
"3\nlea ebx, [eax + 8*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ebx + 2*ecx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 4*ebx]\nlea eex, [ebx + 8*edx]\n",
"3\nlea ebx, [eax + 8*eax]\nlea ecx, [eax + 4*ebx]\nlea edx, [ebx + 4*ecx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [ebx + 2*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [ecx + 4*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 8*eax]\nlea edx, [ebx + 4*ecx]\nlea eex, [ebx + 4*edx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [8*ebx]\nlea edx, [ecx + 4*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [ebx + 4*ebx]\nlea edx, [eax + 8*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [ecx + 8*ecx]\n",
"3\nlea ebx, [eax + 8*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [eax + 2*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [ebx + 4*ebx]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [eax + 8*ecx]\nlea eex, [ebx + 4*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 2*eax]\nlea eex, [edx + 4*ecx]\n",
"3\nlea ebx, [8*eax]\nlea ecx, [ebx + 4*ebx]\nlea edx, [ebx + 4*ecx]\n",
"3\nlea ebx, [eax + 4*eax]\nlea ecx, [eax + 4*ebx]\nlea edx, [eax + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [4*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [edx + 4*edx]\n",
"3\nlea ebx, [eax + 8*eax]\nlea ecx, [eax + 2*ebx]\nlea edx, [ecx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [eax + 8*ecx]\nlea eex, [ecx + 2*edx]\n",
"3\nlea ebx, [eax + 4*eax]\nlea ecx, [eax + 4*ebx]\nlea edx, [ebx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [eax + 4*ecx]\nlea eex, [ecx + 4*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 2*ecx]\nlea eex, [edx + 4*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [8*ebx]\nlea edx, [ecx + 4*eax]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ebx + 4*ecx]\nlea eex, [eax + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ebx + 4*ecx]\nlea eex, [ebx + 8*edx]\n",
"4\nlea ebx, [8*eax]\nlea ecx, [eax + 2*ebx]\nlea edx, [ecx + 8*ebx]\nlea eex, [ecx + 2*edx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [ebx + 4*ebx]\nlea edx, [ecx + 8*ecx]\n",
"3\nlea ebx, [eax + 4*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [eax + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ecx + 8*ecx]\nlea eex, [ebx + 4*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ecx + 8*ecx]\nlea eex, [ebx + 4*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ecx + 8*ecx]\nlea eex, [ebx + 4*edx]\n",
"3\nlea ebx, [eax + 4*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [ebx + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [ebx + 2*ecx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 2*ecx]\nlea eex, [edx + 8*ecx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [ecx + 4*edx]\n",
"3\nlea ebx, [eax + 4*eax]\nlea ecx, [eax + 4*ebx]\nlea edx, [ecx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 8*eax]\nlea edx, [ebx + 4*ecx]\nlea eex, [edx + 4*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [eax + 4*ecx]\nlea eex, [ecx + 4*edx]\n",
"3\nlea ebx, [8*eax]\nlea ecx, [8*ebx]\nlea edx, [ecx + 2*ecx]\n",
"3\nlea ebx, [8*eax]\nlea ecx, [ebx + 2*ebx]\nlea edx, [eax + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [8*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [ebx + 8*edx]\n",
"3\nlea ebx, [8*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 2*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [eax + 8*ecx]\nlea eex, [4*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [eax + 8*ecx]\nlea eex, [eax + 4*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [8*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [edx + 2*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 2*ecx]\nlea eex, [edx + 4*ecx]\n",
"3\nlea ebx, [8*eax]\nlea ecx, [ebx + 2*ebx]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [eax + 8*ecx]\nlea eex, [ebx + 8*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ebx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [4*ecx]\nlea eex, [edx + 8*ecx]\n",
"3\nlea ebx, [eax + 4*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [eax + 4*ecx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 4*ecx]\nlea eex, [edx + 2*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [8*ebx]\nlea edx, [ecx + 8*eax]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [eax + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [ebx + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [ebx + 2*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [ebx + 4*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 4*ebx]\nlea edx, [ecx + 8*ebx]\nlea eex, [ecx + 4*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ebx + 4*ecx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [edx + 4*edx]\n",
"3\nlea ebx, [8*eax]\nlea ecx, [ebx + 2*ebx]\nlea edx, [ecx + 8*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [eax + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 8*ecx]\nlea eex, [ebx + 8*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [ebx + 8*ecx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 8*ecx]\nlea eex, [ebx + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 2*ecx]\nlea eex, [ecx + 4*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 8*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [edx + 2*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ebx + 8*ebx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [8*ebx]\nlea edx, [ecx + 4*ebx]\nlea eex, [ecx + 4*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [ecx + 8*eax]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [ebx + 8*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 4*ebx]\nlea eex, [ecx + 4*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [ebx + 2*eax]\nlea edx, [ebx + 4*ecx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 2*ecx]\nlea eex, [edx + 4*ecx]\n",
"4\nlea ebx, [8*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ebx + 4*ecx]\nlea eex, [ebx + 8*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [eax + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [edx + 8*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [ebx + 8*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [ecx + 4*ebx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [eax + 4*eax]\nlea ecx, [ebx + 1*eax]\nlea edx, [ebx + 4*ecx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [eax + 4*ecx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [8*ebx]\nlea edx, [ecx + 2*ecx]\nlea eex, [edx + 4*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 4*ecx]\nlea eex, [eax + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 4*ecx]\nlea eex, [ebx + 8*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [ecx + 8*ecx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [ebx + 2*eax]\nlea edx, [ecx + 4*ecx]\nlea eex, [ebx + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [eax + 8*ecx]\nlea eex, [edx + 4*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 4*ecx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*ebx]\nlea edx, [ecx + 8*ecx]\nlea eex, [ecx + 2*edx]\n",
"4\nlea ebx, [8*eax]\nlea ecx, [ebx + 2*eax]\nlea edx, [ecx + 2*ecx]\nlea eex, [ebx + 8*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [eax + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [edx + 4*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [ebx + 8*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [edx + 8*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 8*ecx]\nlea eex, [eax + 4*edx]\n",
"5\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 4*eax]\nlea eex, [edx + 8*edx]\nlea efx, [ebx + 4*eex]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 2*ecx]\nlea eex, [edx + 4*edx]\n",
};
int main(){
    cin>>a;
    cout<<bc[a-1];
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
int a;
string bc[255]={"0\n",
"1\nlea ebx, [2*eax]\n",
"1\nlea ebx, [eax + 2*eax]\n",
"1\nlea ebx, [4*eax]\n",
"1\nlea ebx, [eax + 4*eax]\n",
"2\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\n",
"2\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*eax]\n",
"1\nlea ebx, [8*eax]\n",
"1\nlea ebx, [eax + 8*eax]\n",
"2\nlea ebx, [2*eax]\nlea ecx, [ebx + 8*eax]\n",
"2\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 8*eax]\n",
"2\nlea ebx, [4*eax]\nlea ecx, [ebx + 8*eax]\n",
"2\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*ebx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 4*ecx]\n",
"2\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*ebx]\n",
"2\nlea ebx, [2*eax]\nlea ecx, [8*ebx]\n",
"2\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\n",
"2\nlea ebx, [2*eax]\nlea ecx, [ebx + 8*ebx]\n",
"2\nlea ebx, [eax + 8*eax]\nlea ecx, [eax + 2*ebx]\n",
"2\nlea ebx, [4*eax]\nlea ecx, [ebx + 4*ebx]\n",
"2\nlea ebx, [eax + 4*eax]\nlea ecx, [eax + 4*ebx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ebx + 4*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ebx + 4*ecx]\n",
"2\nlea ebx, [8*eax]\nlea ecx, [ebx + 2*ebx]\n",
"2\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 8*ebx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 8*ecx]\n",
"2\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 8*ebx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ecx + 8*ebx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 4*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 8*ebx]\n",
"2\nlea ebx, [4*eax]\nlea ecx, [8*ebx]\n",
"2\nlea ebx, [4*eax]\nlea ecx, [eax + 8*ebx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [4*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 2*ecx]\n",
"2\nlea ebx, [4*eax]\nlea ecx, [ebx + 8*ebx]\n",
"2\nlea ebx, [eax + 8*eax]\nlea ecx, [eax + 4*ebx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 8*eax]\nlea edx, [ebx + 4*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 8*eax]\nlea edx, [ebx + 4*ecx]\n",
"2\nlea ebx, [8*eax]\nlea ecx, [ebx + 4*ebx]\n",
"2\nlea ebx, [eax + 4*eax]\nlea ecx, [eax + 8*ebx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ebx + 8*ecx]\n",
"2\nlea ebx, [eax + 4*eax]\nlea ecx, [ebx + 8*ebx]\n",
"3\nlea ebx, [eax + 4*eax]\nlea ecx, [ebx + 1*eax]\nlea edx, [ecx + 8*ebx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [ebx + 4*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [8*ebx]\nlea edx, [ecx + 2*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [eax + 8*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 2*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [ebx + 2*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*ebx]\nlea edx, [eax + 4*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 8*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [ecx + 4*ecx]\n",
"3\nlea ebx, [8*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ebx + 4*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [eax + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 4*eax]\nlea eex, [ebx + 8*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [ecx + 4*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*ebx]\nlea edx, [eax + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 4*ecx]\nlea eex, [ebx + 4*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 8*ecx]\n",
"2\nlea ebx, [8*eax]\nlea ecx, [8*ebx]\n",
"2\nlea ebx, [8*eax]\nlea ecx, [eax + 8*ebx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [8*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 2*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [4*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 4*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ebx + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [eax + 8*ebx]\nlea eex, [ecx + 4*edx]\n",
"2\nlea ebx, [8*eax]\nlea ecx, [ebx + 8*ebx]\n",
"2\nlea ebx, [eax + 8*eax]\nlea ecx, [eax + 8*ebx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 8*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 8*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [eax + 8*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [eax + 4*eax]\nlea ecx, [eax + 8*eax]\nlea edx, [ebx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [ebx + 4*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [ecx + 4*edx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [8*ebx]\nlea edx, [ecx + 4*ecx]\n",
"2\nlea ebx, [eax + 8*eax]\nlea ecx, [ebx + 8*ebx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [eax + 4*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 2*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [ebx + 4*ebx]\nlea edx, [ebx + 4*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [ebx + 4*edx]\n",
"3\nlea ebx, [eax + 4*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ebx + 2*ecx]\n",
"3\nlea ebx, [8*eax]\nlea ecx, [ebx + 2*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [eax + 8*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [ecx + 8*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [ebx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ecx + 8*ecx]\nlea eex, [ebx + 2*edx]\n",
"3\nlea ebx, [eax + 4*eax]\nlea ecx, [eax + 2*ebx]\nlea edx, [ebx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [ecx + 4*edx]\n",
"3\nlea ebx, [eax + 4*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [ebx + 2*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [8*ebx]\nlea edx, [ecx + 2*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [eax + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [4*eax]\nlea edx, [ecx + 8*eax]\nlea eex, [ebx + 8*edx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 2*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [4*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [edx + 2*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ebx + 4*ecx]\n",
"3\nlea ebx, [8*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*ebx]\nlea edx, [eax + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [eax + 4*ecx]\nlea eex, [ebx + 8*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*ebx]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [ecx + 8*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [eax + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 8*ecx]\nlea eex, [ebx + 4*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [ebx + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [8*ebx]\nlea edx, [ecx + 8*eax]\nlea eex, [ecx + 4*edx]\n",
"3\nlea ebx, [eax + 8*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ebx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 4*ecx]\nlea eex, [ebx + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 4*ecx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [ebx + 4*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*ebx]\nlea edx, [ecx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 8*eax]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 2*ecx]\nlea eex, [edx + 4*ecx]\n",
"3\nlea ebx, [8*eax]\nlea ecx, [ebx + 2*ebx]\nlea edx, [ecx + 4*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*ebx]\nlea edx, [eax + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 4*ecx]\nlea eex, [ebx + 8*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*ebx]\nlea edx, [ebx + 8*ecx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 4*ecx]\nlea eex, [ebx + 8*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 4*ecx]\nlea eex, [edx + 8*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 8*eax]\nlea eex, [ecx + 8*edx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [8*ebx]\nlea edx, [8*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [8*ebx]\nlea edx, [eax + 8*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [8*ebx]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [8*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 2*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [4*ebx]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [4*eax]\nlea edx, [eax + 8*ecx]\nlea eex, [ebx + 4*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*ebx]\nlea edx, [ecx + 8*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [8*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 8*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ebx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [eax + 8*ebx]\nlea eex, [ecx + 8*edx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [eax + 4*ebx]\nlea edx, [ebx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [eax + 8*ebx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [eax + 8*ebx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [ecx + 4*edx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [8*ebx]\nlea edx, [ecx + 8*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [eax + 8*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [eax + 8*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 2*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [ebx + 4*ecx]\n",
"3\nlea ebx, [eax + 8*eax]\nlea ecx, [eax + 4*ebx]\nlea edx, [eax + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 8*eax]\nlea edx, [eax + 4*ecx]\nlea eex, [ebx + 4*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 8*eax]\nlea edx, [eax + 4*ecx]\nlea eex, [ebx + 4*edx]\n",
"3\nlea ebx, [8*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [ebx + 2*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [ebx + 8*edx]\n",
"3\nlea ebx, [eax + 8*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ebx + 2*ecx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 4*ebx]\nlea eex, [ebx + 8*edx]\n",
"3\nlea ebx, [eax + 8*eax]\nlea ecx, [eax + 4*ebx]\nlea edx, [ebx + 4*ecx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [ebx + 2*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [ecx + 4*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 8*eax]\nlea edx, [ebx + 4*ecx]\nlea eex, [ebx + 4*edx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [8*ebx]\nlea edx, [ecx + 4*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [ebx + 4*ebx]\nlea edx, [eax + 8*ecx]\n",
"3\nlea ebx, [2*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [ecx + 8*ecx]\n",
"3\nlea ebx, [eax + 8*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [eax + 2*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [ebx + 4*ebx]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [eax + 8*ecx]\nlea eex, [ebx + 4*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 2*eax]\nlea eex, [edx + 4*ecx]\n",
"3\nlea ebx, [8*eax]\nlea ecx, [ebx + 4*ebx]\nlea edx, [ebx + 4*ecx]\n",
"3\nlea ebx, [eax + 4*eax]\nlea ecx, [eax + 4*ebx]\nlea edx, [eax + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [4*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [edx + 4*edx]\n",
"3\nlea ebx, [eax + 8*eax]\nlea ecx, [eax + 2*ebx]\nlea edx, [ecx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [eax + 8*ecx]\nlea eex, [ecx + 2*edx]\n",
"3\nlea ebx, [eax + 4*eax]\nlea ecx, [eax + 4*ebx]\nlea edx, [ebx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [eax + 4*ecx]\nlea eex, [ecx + 4*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 2*ecx]\nlea eex, [edx + 4*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [8*ebx]\nlea edx, [ecx + 4*eax]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ebx + 4*ecx]\nlea eex, [eax + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ebx + 4*ecx]\nlea eex, [ebx + 8*edx]\n",
"4\nlea ebx, [8*eax]\nlea ecx, [eax + 2*ebx]\nlea edx, [ecx + 8*ebx]\nlea eex, [ecx + 2*edx]\n",
"3\nlea ebx, [4*eax]\nlea ecx, [ebx + 4*ebx]\nlea edx, [ecx + 8*ecx]\n",
"3\nlea ebx, [eax + 4*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [eax + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ecx + 8*ecx]\nlea eex, [ebx + 4*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ecx + 8*ecx]\nlea eex, [ebx + 4*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ecx + 8*ecx]\nlea eex, [ebx + 4*edx]\n",
"3\nlea ebx, [eax + 4*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [ebx + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [ebx + 2*ecx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 2*ecx]\nlea eex, [edx + 8*ecx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [ecx + 4*edx]\n",
"3\nlea ebx, [eax + 4*eax]\nlea ecx, [eax + 4*ebx]\nlea edx, [ecx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 8*eax]\nlea edx, [ebx + 4*ecx]\nlea eex, [edx + 4*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [eax + 4*ecx]\nlea eex, [ecx + 4*edx]\n",
"3\nlea ebx, [8*eax]\nlea ecx, [8*ebx]\nlea edx, [ecx + 2*ecx]\n",
"3\nlea ebx, [8*eax]\nlea ecx, [ebx + 2*ebx]\nlea edx, [eax + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [8*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [ebx + 8*edx]\n",
"3\nlea ebx, [8*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 2*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [eax + 8*ecx]\nlea eex, [4*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [eax + 8*ecx]\nlea eex, [eax + 4*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [8*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [edx + 2*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 2*ecx]\nlea eex, [edx + 4*ecx]\n",
"3\nlea ebx, [8*eax]\nlea ecx, [ebx + 2*ebx]\nlea edx, [ebx + 8*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [eax + 8*ecx]\nlea eex, [ebx + 8*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ebx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [4*ecx]\nlea eex, [edx + 8*ecx]\n",
"3\nlea ebx, [eax + 4*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 4*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [eax + 4*ecx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [eax + 4*ecx]\nlea eex, [edx + 2*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [8*ebx]\nlea edx, [ecx + 8*eax]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [eax + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [ebx + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [ebx + 2*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [ebx + 4*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 4*ebx]\nlea edx, [ecx + 8*ebx]\nlea eex, [ecx + 4*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ebx + 4*ecx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [edx + 4*edx]\n",
"3\nlea ebx, [8*eax]\nlea ecx, [ebx + 2*ebx]\nlea edx, [ecx + 8*ecx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [eax + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 8*ecx]\nlea eex, [ebx + 8*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [ebx + 8*ecx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 8*ecx]\nlea eex, [ebx + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 2*ecx]\nlea eex, [ecx + 4*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 8*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [edx + 2*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ebx + 8*ebx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [8*ebx]\nlea edx, [ecx + 4*ebx]\nlea eex, [ecx + 4*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 8*ecx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [ecx + 8*eax]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [ebx + 8*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 4*ebx]\nlea eex, [ecx + 4*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [ebx + 2*eax]\nlea edx, [ebx + 4*ecx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 2*ecx]\nlea eex, [edx + 4*ecx]\n",
"4\nlea ebx, [8*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ebx + 4*ecx]\nlea eex, [ebx + 8*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [eax + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [edx + 8*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [ebx + 8*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [ebx + 8*eax]\nlea edx, [ecx + 4*ebx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [eax + 4*eax]\nlea ecx, [ebx + 1*eax]\nlea edx, [ebx + 4*ecx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [eax + 4*ecx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [8*ebx]\nlea edx, [ecx + 2*ecx]\nlea eex, [edx + 4*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 4*ecx]\nlea eex, [eax + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 4*ecx]\nlea eex, [ebx + 8*edx]\n",
"3\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 8*ebx]\nlea edx, [ecx + 8*ecx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [ebx + 2*eax]\nlea edx, [ecx + 4*ecx]\nlea eex, [ebx + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [eax + 8*ecx]\nlea eex, [edx + 4*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 4*ecx]\nlea eex, [ecx + 8*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [eax + 4*ebx]\nlea edx, [ecx + 8*ecx]\nlea eex, [ecx + 2*edx]\n",
"4\nlea ebx, [8*eax]\nlea ecx, [ebx + 2*eax]\nlea edx, [ecx + 2*ecx]\nlea eex, [ebx + 8*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [eax + 8*edx]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [edx + 4*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 8*ebx]\nlea eex, [ebx + 8*edx]\n",
"4\nlea ebx, [4*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ebx + 8*ecx]\nlea eex, [edx + 8*edx]\n",
"4\nlea ebx, [eax + 2*eax]\nlea ecx, [ebx + 4*eax]\nlea edx, [ecx + 8*ecx]\nlea eex, [eax + 4*edx]\n",
"5\nlea ebx, [2*eax]\nlea ecx, [eax + 2*eax]\nlea edx, [ecx + 4*eax]\nlea eex, [edx + 8*edx]\nlea efx, [ebx + 4*eex]\n",
"4\nlea ebx, [2*eax]\nlea ecx, [eax + 8*ebx]\nlea edx, [ecx + 2*ecx]\nlea eex, [edx + 4*edx]\n",
};
int main(){
    cin>>a;
    cout<<bc[n-1];
    return 0;
}


/* --- author: dxm --- */
#include<bits/stdc++.h>
#pragma GCC optimize(2)
using namespace std;

#define INF 1e9
#define Inf 1e18
#define rep(i,n) for(int (i)=0;(i)<n;i++)
#define REP(i,n) for(int (i)=1;(i)<=n;i++)
#define mp make_pair
#define pb push_back
#define fst first
#define snd second
typedef long long ll;
typedef double db;
typedef long double ldb;
typedef unsigned int uint;
typedef unsigned long long ull;
typedef pair<int,int> pii;
typedef pair<long long,long long> pll;

void qread(int &x){
	int neg=1;x=0;
	char c=getchar();
	while(c<'0'||c>'9'){if(c=='-')neg=-1;c=getchar();}
	while(c>='0'&&c<='9')x=10*x+c-'0',c=getchar();
	x*=neg;
}

const int maxn=26;
int n,ans;
int a[maxn];
string how[maxn];

bool go(int p,int pos){
	if(a[pos]>n)return false;
	if(!p){
		if(a[pos]!=n)return false;
		printf("%d\n",ans);
		for(int i=ans;i>=1;i--)printf("%s\n",how[i].c_str());
		return true;
	}
	if(p<0)return false;
	rep(i,pos+1)for(int k=1;k<=8;k<<=1){
		a[pos+1]=a[i]*k;
		if(a[pos+1]>n)continue;
		if(p==1&&a[pos+1]!=n)continue;
		how[p]="lea e"+string(1,pos+1+'a')+"x, ["+string(1,k+'0')+"*e"+string(1,i+'a')+"x]";
		if(go(p-1,pos+1))return true;
	}
	rep(i,pos+1)rep(j,pos+1)for(int k=1;k<=8;k<<=1){
		a[pos+1]=a[i]+a[j]*k;
		if(a[pos+1]>n)continue;
		if(p==1&&a[pos+1]!=n)continue;
		how[p]="lea e"+string(1,pos+1+'a')+"x, [e"+string(1,i+'a')+"x + "+string(1,k+'0')+"*e"+string(1,j+'a')+"x]";
		if(go(p-1,pos+1))return true;
	}
	return false;
}

int main(){
#ifdef FILE
	freopen("FILE.in","r",stdin);
	freopen("FILE.out","w",stdout);
#endif
	scanf("%d",&n);
	a[0]=1;
	for(;;){
		if(go(ans,0))break;
		ans++;
	}
#ifdef TIME
	printf("Running Time = %d ms\n",int(clock()*1000.0/CLOCKS_PER_SEC));
#endif
	return 0;
}

/*
Input:
-----------------
Output:
*/


#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
using namespace std;
int ans,n,v[10]={1},r1[10],r2[10],p[10],r3[10];
void dfs(int k)
{
	if(k==ans&&v[k]==n)
	{
		printf("%d\n",ans);
		for(int i=0;i<k;i++)
		{
			if(r2[i]+1)printf("lea e%cx, [e%c x + %d*e%cx]\n",r1[i]+'a',r2[i]+'a',p[i],r3[i]+'a');
			else printf("lea e%cx, [%d* e%cx]\n",r1[i]+'a',p[i],r3[i]+'a');
		}
		exit(0);
	}
	if(k==ans) return;
	for(int i=0;i<=k;i++)
		for(int j=-1;j<=k;j++)
			for(int k=1;k<9;k<<=1)
			{
				if(j+1) v[k+1]=v[i]*k+v[j];
				else v[k+1]=v[i]*k;
				if(v[k+1]<=v[k]||v[k+1]>n) continue;
				r1[k]=k+1;r2[k]=j;p[k]=k;r3[k]=i;
				dfs(k+1);
			}
}
int main()
{
	scanf("%d",&n);
	for(ans=0;;ans++) dfs(0);
}


#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
using namespace std;
int ans,n,v[10]={1},r1[10],r2[10],p[10],r3[10];
void dfs(int k)
{
	if(k==ans&&v[k]==n)
	{
		printf("%d\n",ans);
		for(int i=0;i<k;i++)
		{
			if(r2[i]+1)printf("lea e%cx, [e%cx + %d*e%cx]\n",r1[i]+'a',r2[i]+'a',p[i],r3[i]+'a');
			else printf("lea e%cx, [%d*e%cx]\n",r1[i]+'a',p[i],r3[i]+'a');
		}
		exit(0);
	}
	if(k==ans) return;
	for(int i=0;i<=k;i++)
		for(int j=-1;j<=k;j++)
			for(int k=1;k<9;k<<=1)
			{
				if(j+1) v[k+1]=v[i]*k+v[j];
				else v[k+1]=v[i]*k;
				if(v[k1]<=v[k]||v[k+1]>n) continue
				r1[k]=k+1;r2[k]=j;p[k]=k;r3[k]=i;
				dfs(k+1);
			}
}
int main()
{
	scanf("%d",&n);
	for(ans=0;;ans++) dfs(0);
}


#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
using namespace std;
int ans,n,v[10]={1},p1[10],p2[10],p[10],p3[10];
void dfs(int k)
{
	if(k==ans&&v[k]==n)
	{
		printf("%d\n",ans);
		for(int i=0;i<k;i++)
		{
			if(p2[i]+1) printf("lea e%cx, [e%cx + %d*e%cx]\n",p1[i]+'a',p2[i]+'a',p[i],p3[i]+'a');
			else printf("lea e%cx, [%d*e%cx]\n",p1[i]+'a',p[i],p3[i]+'a');
		}
		exit(0);
	}
	if(k==ans) return;
	for(int i=0;i<=k;i++)
		for(int j=-1;j<=k;j++)
			for(int u=1;u<9;u<<=1)
			{
				if(j+1) v[k+1]=v[i]*u+v[j];
				else v[k+1]=v[i]*u;
				if(v[k+1]<=v[k]||v[k+1]>n) continue;
				p1[k]=k+1;p2[k]=j;p[k]=u;p3[k]=i;
				dfs(k+1);
			}
}
int main()
{
	scanf("%d",&n);
	for(ans=0;;ans++) dfs(0);
}


#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
using namespace std;
int ans,n,v[10]={1},r1[10],r2[10],p[10],r3[10];
void dfs(int k)
{
	if(k==ans&&v[k]==n)
	{
		printf("%d\n",ans);
		for(int i=0;i<k;i++)
		{
			if(r2[i]+1)pritnf("lea e%cx, [e%cx + %d*e%cx]\n",r1[i]+'a',r2[i]+'a',p[i],r3[i]+'a');
			else printf("lea e%cx, [%d*e%cx]\n",r1[i]+'a',p[i],r3[i]+'a');
		}
		exit(0);
	}
	if(k==ans) return;
	for(int i=0;i<=k;i++)
		for(int j=-1;j<=k;j++)
			for(int k=1;k<9;k<<=1)
			{
				if(j+1) v[k+1]=v[i]*k+v[j];
				else v[k+1]=v[i]*k;
				if(v[k+1]<=v[k]||v[k+1]>n) continue;
				r1[k]=k+1;r2[k]=j;p[k]=k;r3[k]=i;
				dfs(k+1);
			}
}
int main()
{
	scanf("%d",&n);
	for(ans=0;;ans++) dfs(0);
}