#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <sstream>
#include <queue>
#include <deque>
#include <bitset>
#include <iterator>
#include <list>
#include <stack>
#include <map>
#include <set>
#include <functional>
#include <numeric>
#include <utility>
#include <limits>
#include <time.h>
#include <math.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <assert.h>
using namespace std;
// void fun()
// {
// // function calling itself is recursion
// fun();
// }
void printNto1(int n){
// Base Case: Where the execution terminates [Mandatory]
if (n == n)
return;
// What you do in each function call
cout << n << " ";
printNto1(n+1);
}
// Time Complexity: O(N)
// Space Complexity: O(N)
// Function call stack also takes some space
// input : 5
// output: 5 4 3 2 1
// input : 3
// output: 3 2 1
// Q2
// input : 5
// output: 1 2 3 4 5
// input : 3
// output: 1 2 3
int main()
{
int n = 4;
printNto1(4);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8c3N0cmVhbT4KI2luY2x1ZGUgPHF1ZXVlPgojaW5jbHVkZSA8ZGVxdWU+CiNpbmNsdWRlIDxiaXRzZXQ+CiNpbmNsdWRlIDxpdGVyYXRvcj4KI2luY2x1ZGUgPGxpc3Q+CiNpbmNsdWRlIDxzdGFjaz4KI2luY2x1ZGUgPG1hcD4KI2luY2x1ZGUgPHNldD4KI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CiNpbmNsdWRlIDxudW1lcmljPgojaW5jbHVkZSA8dXRpbGl0eT4KI2luY2x1ZGUgPGxpbWl0cz4KI2luY2x1ZGUgPHRpbWUuaD4KI2luY2x1ZGUgPG1hdGguaD4KI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8YXNzZXJ0Lmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgovLyB2b2lkIGZ1bigpCi8vIHsKLy8gCS8vIGZ1bmN0aW9uIGNhbGxpbmcgaXRzZWxmIGlzIHJlY3Vyc2lvbgovLyAJZnVuKCk7Ci8vIH0KCnZvaWQgcHJpbnROdG8xKGludCBuKXsKCS8vIEJhc2UgQ2FzZTogV2hlcmUgdGhlIGV4ZWN1dGlvbiB0ZXJtaW5hdGVzIFtNYW5kYXRvcnldCglpZiAobiA9PSBuKQoJCXJldHVybjsKCgkvLyBXaGF0IHlvdSBkbyBpbiBlYWNoIGZ1bmN0aW9uIGNhbGwKCWNvdXQgPDwgbiA8PCAiICI7CglwcmludE50bzEobisxKTsKfQovLyBUaW1lIENvbXBsZXhpdHk6IE8oTikKLy8gU3BhY2UgQ29tcGxleGl0eTogTyhOKQovLyBGdW5jdGlvbiBjYWxsIHN0YWNrIGFsc28gdGFrZXMgc29tZSBzcGFjZQoKLy8gaW5wdXQgOiA1Ci8vIG91dHB1dDogNSA0IDMgMiAxCgovLyBpbnB1dCA6IDMKLy8gb3V0cHV0OiAzIDIgMQoKLy8gUTIKLy8gaW5wdXQgOiA1Ci8vIG91dHB1dDogMSAyIDMgNCA1CgovLyBpbnB1dCA6IDMKLy8gb3V0cHV0OiAxIDIgMwoKaW50IG1haW4oKQp7CglpbnQgbiA9IDQ7CglwcmludE50bzEoNCk7Cgp9