#include<bits/stdc++.h>
#define FOR(i, a, b) for (int i = (a), _b = (b); i <= _b; i++)
#define FORD(i, b, a) for (int i = (b), _a = (a); i >= _a; i--)
#define REP(i, n) for (int i = 0, _n = (n); i < _n; i++)
#define FORE(i, v) for (__typeof((v).begin()) i = (v).begin(); i != (v).end(); i++)
#define ALL(v) (v).begin(), (v).end()
#define IS_INF(x) (std::isinf(x))
#define IS_NAN(x) (std::isnan(x))
#define fi first
#define se second
#define MASK(i) (1LL << (i))
#define BIT(x, i) (((x) >> (i)) & 1)
#define div ___div
#define next ___next
#define prev ___prev
#define left ___left
#define right ___right
#define __builtin_popcount __builtin_popcountll
using namespace std;
template<class X, class Y>
bool minimize(X &x, const Y &y) {
X eps = 1e-9;
if (x > y + eps) {
x = y;
return true;
} else return false;
}
template<class X, class Y>
bool maximize(X &x, const Y &y) {
X eps = 1e-9;
if (x + eps < y) {
x = y;
return true;
} else return false;
}
template<class T>
T Abs(const T &x) {
return (x < 0 ? -x : x);
}
/* Author: Van Hanh Pham */
/** END OF TEMPLATE. DRINK A CUP OF TIGERSUGAR BEFORE READING MY CODE. **/
int main(void) {
#ifdef ONLINE_JUDGE
freopen("sbbcffffs.inp", "r", stdin);
freopen("sbbcffffs.out", "w", stdout);
#endif // ONLINE_JUDGE
int n; cin >> n;
FOR(i, 1, n) cout << i << " ";
cout << endl;
return 0;
}
/*** BUBBLE TEA IS GREAT. MY CODE IS AMAZING :D ***/
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBGT1IoaSwgYSwgYikgZm9yIChpbnQgaSA9IChhKSwgX2IgPSAoYik7IGkgPD0gX2I7IGkrKykKI2RlZmluZSBGT1JEKGksIGIsIGEpIGZvciAoaW50IGkgPSAoYiksIF9hID0gKGEpOyBpID49IF9hOyBpLS0pCiNkZWZpbmUgUkVQKGksIG4pIGZvciAoaW50IGkgPSAwLCBfbiA9IChuKTsgaSA8IF9uOyBpKyspCiNkZWZpbmUgRk9SRShpLCB2KSBmb3IgKF9fdHlwZW9mKCh2KS5iZWdpbigpKSBpID0gKHYpLmJlZ2luKCk7IGkgIT0gKHYpLmVuZCgpOyBpKyspCiNkZWZpbmUgQUxMKHYpICh2KS5iZWdpbigpLCAodikuZW5kKCkKI2RlZmluZSBJU19JTkYoeCkgICAoc3RkOjppc2luZih4KSkKI2RlZmluZSBJU19OQU4oeCkgICAoc3RkOjppc25hbih4KSkKI2RlZmluZSBmaSAgIGZpcnN0CiNkZWZpbmUgc2UgICBzZWNvbmQKI2RlZmluZSBNQVNLKGkpICgxTEwgPDwgKGkpKQojZGVmaW5lIEJJVCh4LCBpKSAoKCh4KSA+PiAoaSkpICYgMSkKI2RlZmluZSBkaXYgICBfX19kaXYKI2RlZmluZSBuZXh0ICAgX19fbmV4dAojZGVmaW5lIHByZXYgICBfX19wcmV2CiNkZWZpbmUgbGVmdCAgIF9fX2xlZnQKI2RlZmluZSByaWdodCAgIF9fX3JpZ2h0CiNkZWZpbmUgX19idWlsdGluX3BvcGNvdW50IF9fYnVpbHRpbl9wb3Bjb3VudGxsCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnRlbXBsYXRlPGNsYXNzIFgsIGNsYXNzIFk+CiAgICBib29sIG1pbmltaXplKFggJngsIGNvbnN0IFkgJnkpIHsKICAgICAgICBYIGVwcyA9IDFlLTk7CiAgICAgICAgaWYgKHggPiB5ICsgZXBzKSB7CiAgICAgICAgICAgIHggPSB5OwogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9IGVsc2UgcmV0dXJuIGZhbHNlOwogICAgfQp0ZW1wbGF0ZTxjbGFzcyBYLCBjbGFzcyBZPgogICAgYm9vbCBtYXhpbWl6ZShYICZ4LCBjb25zdCBZICZ5KSB7CiAgICAgICAgWCBlcHMgPSAxZS05OwogICAgICAgIGlmICh4ICsgZXBzIDwgeSkgewogICAgICAgICAgICB4ID0geTsKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfSBlbHNlIHJldHVybiBmYWxzZTsKICAgIH0KdGVtcGxhdGU8Y2xhc3MgVD4KICAgIFQgQWJzKGNvbnN0IFQgJngpIHsKICAgICAgICByZXR1cm4gKHggPCAwID8gLXggOiB4KTsKICAgIH0KCi8qIEF1dGhvcjogVmFuIEhhbmggUGhhbSAqLwoKLyoqIEVORCBPRiBURU1QTEFURS4gRFJJTksgQSBDVVAgT0YgVElHRVJTVUdBUiBCRUZPUkUgUkVBRElORyBNWSBDT0RFLiAqKi8KCmludCBtYWluKHZvaWQpIHsKI2lmZGVmIE9OTElORV9KVURHRQogICAgZnJlb3Blbigic2JiY2ZmZmZzLmlucCIsICJyIiwgc3RkaW4pOwogICAgZnJlb3Blbigic2JiY2ZmZmZzLm91dCIsICJ3Iiwgc3Rkb3V0KTsKI2VuZGlmIC8vIE9OTElORV9KVURHRQoKICAgIGludCBuOyBjaW4gPj4gbjsKICAgIEZPUihpLCAxLCBuKSBjb3V0IDw8IGkgPDwgIiAiOwogICAgY291dCA8PCBlbmRsOwoKICAgIHJldHVybiAwOwp9CgovKioqIEJVQkJMRSBURUEgSVMgR1JFQVQuIE1ZIENPREUgSVMgQU1BWklORyA6RCAqKiov