#include <bits/stdc++.h>
#define F first
#define S second
#define rep(i, a, b) for(int i = (a); i < (b); ++i)
#define per(i, a, b) for(int i = (b)-1; i >= (a); --i)
#define bck(i, a, b) if ((i) >= (a) && (i) < (b))
#define trav(x, a) for (auto &x : (a))
#define sz(a) (int)(a).size()
#define all(x) (x).begin(), (x).end()
#define mp make_pair
#define pb push_back
#define eb emplace_back
#define dbg(X) std::cerr << "[DBG]("<<__FUNCTION__<<":"<<__LINE__<<") " << #X << ": " << X << std::endl;
using namespace std;
typedef long long ll;
typedef string str;
template<typename T> using vec = vector<T>;
template<typename T> using pq = priority_queue<T, vector<T>, std::greater<T>>;
template<typename T> using mxpq = priority_queue<T>;
typedef pair<int,int> pii;
typedef vec<int> vi;
typedef vec<pii> vii;
typedef vec<vi> vvi;
typedef pair<ll,ll> pll;
typedef vec<ll> vl;
typedef vec<pll> vll;
typedef vec<vl> vvl;
template<class T> bool ckmin(T& a, const T& b) { return b < a ? a = b, 1 : 0; }
template<class T> bool ckmax(T& a, const T& b) { return a < b ? a = b, 1 : 0; }
template<typename A, typename B>
istream& operator>>(istream& s, pair<A,B>& p) { return s>>p.first>>p.second; }
template<typename T>
istream& operator>>(istream& s, vec<T>& p) { for (T& t : p) s >> t; return s; }
template<typename T>
ostream& operator<<(ostream& s, const vec<T>& p) { for (const T& t : p) s << t << " "; return s; }

pair<ll,ll> sim(vl& i) {
    ll x=0, y=0;
    trav(v, i)
        if (v==1) x++;
        else if (v==2) y++;
        else if (v==3) x+=y;
        else y+=x;
    return {x,y};
}

int main() {
    ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
    ll n; cin >> n;
    vl a;
    vl fib;
    ll x=0;
    ll y=1;
    while (y < n) {
        fib.pb(y);
        y = x+y;
        x = y-x;
    }

    ll m = n;
    int i = sz(fib)-1;
    bool t=true;
    while (i >= 0) {
        if (fib[i] < m) {
            a.pb(t?1:2);
            m -= fib[i];
        }
        a.pb(t?4:3);
        t = !t;
        i--;
    }
    auto r = sim(a);
    if (r.S == n-1) {
        trav(v, a) {
            if (v==1) v=2;
            else if (v==2) v=1;
            else if (v==3) v=4;
            else if (v==4) v=3;
        }
    }
    a.pb(1);
    /* assert(sim(a).F == n); */
    cout<<sz(a)<<endl;
    trav(v,a)cout<<v<<endl;
}

/* aman6213*/
#include<bits/stdc++.h>

#define ll              long long
#define mp              make_pair
#define pb              push_back
#define lb              lower_bound
#define ub              upper_bound
#define all(x)          x.begin(), x.end()
#define big(x)          greater<x>()

#define sp              fixed<<setprecision
#define vi              vector<int>
#define vvi             vector<vi>
#define pi              pair<int,int>

#define PI              3.14159265
#define M               (int)1000000007
#define LINF            LONG_MAX
#define NL              LONG_MIN
#define MX             INT_MAX
#define MN              INT_MIN

#define IOS()           ios_base::sync_with_stdio(0);cin.tie(0);
#define deb(x)          cerr<<#x<<" : "<<x<<"\n";
#define deball(x)       for(auto iit:x) cerr<<" "<<iit;cerr<<"\n";
#define rep(i,b,c)      for( ll i=b; i<c; ++i)
#define rrep(i,b,c)     for( ll i=b; i>=c; --i)

using namespace std;

void solve() { ll ans=0;
   
   cout<<ans<<"\n";
}
int main(){
    IOS()
    int t = 1;
    cin >> t;

    t=t*1.08;
    if(t<206) cout<<"Yay!";
    else if(t==206) cout<<"so-so";
    else cout<<":(";

return 0;
}

