#include <bits/stdc++.h>
#define int long long
#define SORT(c) sort(begin(c), end(c))
#define rSORT(c) sort(rbegin(c), rend(c))
#define rsort(c,n) sort(a,a+n,greater<int>())
#define f first
#define s second
#define pb push_back
//#define endl "\n"
#define yes cout << "YES\n"
#define no cout << "NO\n"
#define oo LLONG_MAX
#define vec vector <int>

using namespace std;
void solve();

vector <int> prime;
void sieve(int n) {
    vector<bool> isPrime(n + 1, true);
    isPrime[0] = isPrime[1] = false;
    for (int p = 2; p * p <= n; p++)
        if (isPrime[p])
            for (int i = p * p; i <= n; i += p)
                isPrime[i] = false;

    for (int i = 2; i <= n; i++) {
        if (isPrime[i]) {
            prime.pb(i);
            //cout<<i<<endl;
        }
    }
}

set<int> divisors;
void Divisors(int n) {
    for (int i = 1; i * i <= n; ++i)
        if (n % i == 0) {
            divisors.insert(i);
            if (i != n / i)
                divisors.insert(n / i);
        }
}

vector <int> factors;
int numberOfPrimeFactors(int n) {
    set <int> s;
    for (int i = 2; i * i <= n; i++) {
        if (n % i == 0)
            s.insert(i);
        while (n % i == 0) {
            factors.pb(i);
            n /= i;
        }
    }
    if (n > 1) {
        s.insert(n);
        factors.pb(n);
    }
    return factors.size();
}


void rec(int n){
    if(n==0)
        return;
    cout<<"I love Recursion\n";
    rec(n-1);
}



int32_t main() {
#ifndef ONLINE_JUDGE
    freopen("input1.txt", "r", stdin);
    freopen("output1.txt", "w", stdout);
#endif
    ios::sync_with_stdio(false); cin.tie(0); int t = 1; int i = 1;

    //cin >> t;
    int n = 1;
    while (t--) {
        // cout<<"Case #"<<n<<": ";
        solve();
        n++;
    }

    return 0;
}


void solve() {
    int n;
    cin>>n;
    rec(n);
}