#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);
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgaW50IGxvbmcgbG9uZwojZGVmaW5lIFNPUlQoYykgc29ydChiZWdpbihjKSwgZW5kKGMpKQojZGVmaW5lIHJTT1JUKGMpIHNvcnQocmJlZ2luKGMpLCByZW5kKGMpKQojZGVmaW5lIHJzb3J0KGMsbikgc29ydChhLGErbixncmVhdGVyPGludD4oKSkKI2RlZmluZSBmIGZpcnN0CiNkZWZpbmUgcyBzZWNvbmQKI2RlZmluZSBwYiBwdXNoX2JhY2sKLy8jZGVmaW5lIGVuZGwgIlxuIgojZGVmaW5lIHllcyBjb3V0IDw8ICJZRVNcbiIKI2RlZmluZSBubyBjb3V0IDw8ICJOT1xuIgojZGVmaW5lIG9vIExMT05HX01BWAojZGVmaW5lIHZlYyB2ZWN0b3IgPGludD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnZvaWQgc29sdmUoKTsKCnZlY3RvciA8aW50PiBwcmltZTsKdm9pZCBzaWV2ZShpbnQgbikgewogICAgdmVjdG9yPGJvb2w+IGlzUHJpbWUobiArIDEsIHRydWUpOwogICAgaXNQcmltZVswXSA9IGlzUHJpbWVbMV0gPSBmYWxzZTsKICAgIGZvciAoaW50IHAgPSAyOyBwICogcCA8PSBuOyBwKyspCiAgICAgICAgaWYgKGlzUHJpbWVbcF0pCiAgICAgICAgICAgIGZvciAoaW50IGkgPSBwICogcDsgaSA8PSBuOyBpICs9IHApCiAgICAgICAgICAgICAgICBpc1ByaW1lW2ldID0gZmFsc2U7CgogICAgZm9yIChpbnQgaSA9IDI7IGkgPD0gbjsgaSsrKSB7CiAgICAgICAgaWYgKGlzUHJpbWVbaV0pIHsKICAgICAgICAgICAgcHJpbWUucGIoaSk7CiAgICAgICAgICAgIC8vY291dDw8aTw8ZW5kbDsKICAgICAgICB9CiAgICB9Cn0KCnNldDxpbnQ+IGRpdmlzb3JzOwp2b2lkIERpdmlzb3JzKGludCBuKSB7CiAgICBmb3IgKGludCBpID0gMTsgaSAqIGkgPD0gbjsgKytpKQogICAgICAgIGlmIChuICUgaSA9PSAwKSB7CiAgICAgICAgICAgIGRpdmlzb3JzLmluc2VydChpKTsKICAgICAgICAgICAgaWYgKGkgIT0gbiAvIGkpCiAgICAgICAgICAgICAgICBkaXZpc29ycy5pbnNlcnQobiAvIGkpOwogICAgICAgIH0KfQoKdmVjdG9yIDxpbnQ+IGZhY3RvcnM7CmludCBudW1iZXJPZlByaW1lRmFjdG9ycyhpbnQgbikgewogICAgc2V0IDxpbnQ+IHM7CiAgICBmb3IgKGludCBpID0gMjsgaSAqIGkgPD0gbjsgaSsrKSB7CiAgICAgICAgaWYgKG4gJSBpID09IDApCiAgICAgICAgICAgIHMuaW5zZXJ0KGkpOwogICAgICAgIHdoaWxlIChuICUgaSA9PSAwKSB7CiAgICAgICAgICAgIGZhY3RvcnMucGIoaSk7CiAgICAgICAgICAgIG4gLz0gaTsKICAgICAgICB9CiAgICB9CiAgICBpZiAobiA+IDEpIHsKICAgICAgICBzLmluc2VydChuKTsKICAgICAgICBmYWN0b3JzLnBiKG4pOwogICAgfQogICAgcmV0dXJuIGZhY3RvcnMuc2l6ZSgpOwp9CgoKdm9pZCByZWMoaW50IG4pewogICAgaWYobj09MCkKICAgICAgICByZXR1cm47CiAgICBjb3V0PDwiSSBsb3ZlIFJlY3Vyc2lvblxuIjsKICAgIHJlYyhuLTEpOwp9CgoKCmludDMyX3QgbWFpbigpIHsKI2lmbmRlZiBPTkxJTkVfSlVER0UKICAgIGZyZW9wZW4oImlucHV0MS50eHQiLCAiciIsIHN0ZGluKTsKICAgIGZyZW9wZW4oIm91dHB1dDEudHh0IiwgInciLCBzdGRvdXQpOwojZW5kaWYKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsgY2luLnRpZSgwKTsgaW50IHQgPSAxOyBpbnQgaSA9IDE7CgogICAgLy9jaW4gPj4gdDsKICAgIGludCBuID0gMTsKICAgIHdoaWxlICh0LS0pIHsKICAgICAgICAvLyBjb3V0PDwiQ2FzZSAjIjw8bjw8IjogIjsKICAgICAgICBzb2x2ZSgpOwogICAgICAgIG4rKzsKICAgIH0KCiAgICByZXR1cm4gMDsKfQoKCnZvaWQgc29sdmUoKSB7CiAgICBpbnQgbjsKICAgIGNpbj4+bjsKICAgIHJlYyhuKTsKfQ==