#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
// policy Based ds
#include<ext/pb_ds/assoc_container.hpp>
using namespace __gnu_pbds;
typedef tree<long long , null_type, less_equal<long long>, rb_tree_tag,tree_order_statistics_node_update> ordered_set;
#define order(s, x) s.order_of_key(x) // return the number of elements in the set that are smaller than x
#define elemat(s ,x) s.find_by_order(x) // return poller to element at index x
typedef vector<ll> vl;
typedef vector<pair<ll, ll>> vll;
typedef multiset<pair<ll, ll>> msll;
typedef multiset<ll> msl;
typedef set<pair<ll, ll>> sll;
typedef set<ll> sl;
typedef map<ll, ll> mll;
typedef pair<ll, ll>pll;
typedef vector<ll> vi;
typedef vector<pair<ll, ll>> vii;
typedef multiset<pair<ll, ll>> msii;
typedef multiset<ll> msi;
typedef set<pair<ll, ll>> sii;
typedef set<ll> si;
typedef map<ll, ll> mii;
typedef pair<ll, ll>pii;
#define recap(i,k,n) for(ll i = k; i>=n; i--)
#define rep(i,k,n) for(ll i=k; i<n; i++)
#define boost ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define for1(x, a, b) for(x=a; x<b; x++)
#define for2(x, a, b) for(x=a, x>=b; x--)
#define endl "\n"
#define all(x) x.begin(), x.end()
#define mp make_pair
#define read freopen("today_is_gonna_be_a_great_day_input.txt","r",stdin)
#define write freopen("output.txt","w",stdout)
#define pb push_back
#define ff first
#define ss second
#define bb begin
#define mem(arr, x) memset(arr, x, sizeof(arr));
#define arr_ub(arr, n, x) upper_bound(arr, arr+n, x)-arr
#define arr_lb(arr, n, x) lower_bound(arr, arr+n, x)-arr
#define u_p(v, x) upper_bound(v.begin(), v.end(), x)-v.begin()
#define l_b(v, x) lower_bound(v.begin(), v.end(), x)-v.begin()
const ll sz=1e6+123;
#define INF 1000000000000000007
#define stringLen 18446744073709551620
//#define pi 3.1415926536
const ll mod = 1000000000 + 7;
inline void normal(ll &a, ll MOD) { a %= MOD; (a < 0) && (a += MOD); }
inline ll modMul(ll a, ll b, ll MOD) { a %= MOD, b %= MOD; normal(a, MOD), normal(b, MOD); return (a*b)%MOD; }
inline ll modAdd(ll a, ll b, ll MOD) { a %= MOD, b %= MOD; normal(a, MOD), normal(b, MOD); return (a+b)%MOD; }
inline ll modSub(ll a, ll b, ll MOD) { a %= MOD, b %= MOD; normal(a, MOD), normal(b, MOD); a -= b; normal(a, MOD); return a; }
inline ll modPow(ll b, ll p, ll MOD) { ll r = 1; while(p) { if(p&1) r = modMul(r, b, MOD); b = modMul(b, b, MOD); p >>= 1; } return r; }
inline ll modInverse(ll a, ll MOD) { return modPow(a, MOD-2, MOD); }
inline ll modDiv(ll a, ll b, ll MOD) { return modMul(a, modInverse(b, MOD), MOD); }
//vi divisorList[sz];
//ll divisorNumber[sz];
//void findDivisor(ll n){
// for(ll i=1; i<=n; i++){
// for(ll j=i; j<=n; j+=i){
// divisorList[j].pb(i);
// divisorNumber[j]++;
// }
// }
//}
bool isPalindrome(string s){ll i=0,j=s.size()-1;for(i,j;i<=j;i++,j--){if(s[i]!=s[j]) return 0;}return 1;}
ll gcd(ll a, ll b){return b==0? a: gcd(b, a%b);}
//// lcm * gcd = a*b
ll lcm(ll a, ll b){if(a>b)swap(a, b);return a*(b/gcd(a, b));}
//bool isPalindrome(string s){ ll i=0,j=s.size()-1;for(i,j;i<=j;i++,j--){if(s[i]!=s[j]) return 0;} return 1;}
bool isPowerofTwo(ll n){return (n && !(n&(n-1)));}
//ll count_one(ll n){ll count=0;while(n){n &= (n-1);count++;}return count;}
//string binRep(ll n){string s="";ll f = 0;while(n>0){if(n%2){f=1;s+='1';}else s+='0';n/=2;}if(s.empty())return "0";else return s;}
//ll ctz(ll n){return __builtin_ctzll(n);}
//ll clz(ll n){return __builtin_clzll(n);}
//ll bitCount(ll n){return __builtin_popcountll(n);}
//bitset<sz> is_prime;
//vector<int>prime;
//
//void primeGen(ll n){
// for(ll i=3; i<=n; i+=2)is_prime[i]=1;
// ll nn = sqrt(n)+1;
// for(ll i=3; i<nn; i+=2){
// if(is_prime[i]==0)continue;
// for(ll j=i*i; j<=n; j+=(i+i)){
// is_prime[j]=0;
// }
// }
// is_prime[2]=1;
// prime.pb(2);
//
// for(int i=3; i<=n; i+=2){
// if(is_prime[i]) prime.pb(i);
// }
//}
////
///**
//Faisal Amin Abir(20-43206-1)
//**/
//
//
//vector<ll>factorization(ll n){
// //O(sqrt(n)/ln(sqrt(n)) + log2 n)
// vector<ll>factors;
// for(auto u:prime){
// if(1LL*u*u > n) break;
// if(n%u==0){
// //factors.push_back(u);//for generating unique factors keep this line here
// while(n%(u)==0){
// factors.push_back(u);//for generating all factors keep this line here
// n/=(u);
// }
// }
// }
// if(n>1)factors.push_back(n);
// return factors;
//}
//ll NOD(long long n){
// ll res=1;
// for(auto u:prime){
// if(1LL*u*u > n)break;
// if(n%u==0){
// ll count=1;
// while(n%u==0){
// n/=u;
// count++;
// }
// res *= count;
// }
// }
// if(n>1)res*=2;
// return res;
//}
// R D L U uR dR dL uL
ll dx[] = {0, 1, 0,-1,-1, 1, 1, -1};
ll dy[] = {1, 0,-1, 0, 1, 1,-1, -1};
//--------------------------------------------------------------------------------------------------------------
// ** CODE STARTS HERE **
//--------------------------------------------------------------------------------------------------------------
void solve(){
int n ;
cin>>n;
vector<string>v;
for(int i=1; i<=n; i++){
v.pb(to_string(i));
}
sort(all(v));
for(int i=0; i<n; i++){
cout << i + 1 << ": " << v[i] << endl;
}
}
int main(){
boost;
int t=1;
//cin>>t;
while(t--){
solve();
}
//priority_queue<pair<int,int>>q;
//q.push({2, 1});
//q.push({1, 2});
//cout << q.top().ff;
return 0;
}
/*
10101
11101
10111
11111
*/
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnR5cGVkZWYgbG9uZyBsb25nIGxsOwoKCi8vIHBvbGljeSBCYXNlZCBkcwojaW5jbHVkZTxleHQvcGJfZHMvYXNzb2NfY29udGFpbmVyLmhwcD4KdXNpbmcgbmFtZXNwYWNlIF9fZ251X3BiZHM7Cgp0eXBlZGVmIHRyZWU8bG9uZyBsb25nICwgbnVsbF90eXBlLCBsZXNzX2VxdWFsPGxvbmcgbG9uZz4sIHJiX3RyZWVfdGFnLHRyZWVfb3JkZXJfc3RhdGlzdGljc19ub2RlX3VwZGF0ZT4gb3JkZXJlZF9zZXQ7CgojZGVmaW5lIG9yZGVyKHMsIHgpIHMub3JkZXJfb2Zfa2V5KHgpIC8vIHJldHVybiB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBzZXQgdGhhdCBhcmUgc21hbGxlciB0aGFuIHgKI2RlZmluZSBlbGVtYXQocyAseCkgcy5maW5kX2J5X29yZGVyKHgpIC8vIHJldHVybiBwb2xsZXIgdG8gZWxlbWVudCBhdCBpbmRleCB4CgoKCnR5cGVkZWYgICB2ZWN0b3I8bGw+ICB2bDsKdHlwZWRlZiAgIHZlY3RvcjxwYWlyPGxsLCBsbD4+IHZsbDsKdHlwZWRlZiAgIG11bHRpc2V0PHBhaXI8bGwsIGxsPj4gbXNsbDsKdHlwZWRlZiAgIG11bHRpc2V0PGxsPiBtc2w7CnR5cGVkZWYgICBzZXQ8cGFpcjxsbCwgbGw+PiBzbGw7CnR5cGVkZWYgICBzZXQ8bGw+IHNsOwp0eXBlZGVmICAgbWFwPGxsLCBsbD4gbWxsOwp0eXBlZGVmICAgcGFpcjxsbCwgbGw+cGxsOwoKdHlwZWRlZiAgIHZlY3RvcjxsbD4gIHZpOwp0eXBlZGVmICAgdmVjdG9yPHBhaXI8bGwsIGxsPj4gdmlpOwp0eXBlZGVmICAgbXVsdGlzZXQ8cGFpcjxsbCwgbGw+PiBtc2lpOwp0eXBlZGVmICAgbXVsdGlzZXQ8bGw+IG1zaTsKdHlwZWRlZiAgIHNldDxwYWlyPGxsLCBsbD4+IHNpaTsKdHlwZWRlZiAgIHNldDxsbD4gc2k7CnR5cGVkZWYgICBtYXA8bGwsIGxsPiBtaWk7CnR5cGVkZWYgICBwYWlyPGxsLCBsbD5waWk7CgoKI2RlZmluZSByZWNhcChpLGssbikgIGZvcihsbCBpID0gazsgaT49bjsgaS0tKQojZGVmaW5lIHJlcChpLGssbikgICAgZm9yKGxsIGk9azsgaTxuOyBpKyspCiNkZWZpbmUgYm9vc3QgCWlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7Y2luLnRpZSgwKTtjb3V0LnRpZSgwKTsKI2RlZmluZSBmb3IxKHgsIGEsIGIpICBmb3IoeD1hOyB4PGI7IHgrKykKI2RlZmluZSBmb3IyKHgsIGEsIGIpICBmb3IoeD1hLCB4Pj1iOyB4LS0pCiNkZWZpbmUgZW5kbCAJIlxuIgojZGVmaW5lIGFsbCh4KSAgeC5iZWdpbigpLCB4LmVuZCgpCiNkZWZpbmUgbXAgICAgICBtYWtlX3BhaXIKI2RlZmluZSByZWFkICAgIGZyZW9wZW4oInRvZGF5X2lzX2dvbm5hX2JlX2FfZ3JlYXRfZGF5X2lucHV0LnR4dCIsInIiLHN0ZGluKQojZGVmaW5lIHdyaXRlICAgZnJlb3Blbigib3V0cHV0LnR4dCIsInciLHN0ZG91dCkKI2RlZmluZSBwYiAgICAgIHB1c2hfYmFjawojZGVmaW5lIGZmICAgICAgZmlyc3QKI2RlZmluZSBzcyAgICAgIHNlY29uZAojZGVmaW5lIGJiICAgICAgYmVnaW4KI2RlZmluZSBtZW0oYXJyLCB4KSBtZW1zZXQoYXJyLCB4LCBzaXplb2YoYXJyKSk7CiNkZWZpbmUgYXJyX3ViKGFyciwgbiwgeCkgdXBwZXJfYm91bmQoYXJyLCBhcnIrbiwgeCktYXJyCiNkZWZpbmUgYXJyX2xiKGFyciwgbiwgeCkgbG93ZXJfYm91bmQoYXJyLCBhcnIrbiwgeCktYXJyCiNkZWZpbmUgdV9wKHYsIHgpIHVwcGVyX2JvdW5kKHYuYmVnaW4oKSwgdi5lbmQoKSwgeCktdi5iZWdpbigpCiNkZWZpbmUgbF9iKHYsIHgpIGxvd2VyX2JvdW5kKHYuYmVnaW4oKSwgdi5lbmQoKSwgeCktdi5iZWdpbigpCgoKY29uc3QgbGwgc3o9MWU2KzEyMzsKI2RlZmluZSBJTkYgMTAwMDAwMDAwMDAwMDAwMDAwNwoKI2RlZmluZSBzdHJpbmdMZW4gMTg0NDY3NDQwNzM3MDk1NTE2MjAKLy8jZGVmaW5lIHBpIDMuMTQxNTkyNjUzNgpjb25zdCBsbCBtb2QgPSAxMDAwMDAwMDAwICsgNzsKCgppbmxpbmUgdm9pZCBub3JtYWwobGwgJmEsIGxsIE1PRCkgeyBhICU9IE1PRDsgKGEgPCAwKSAmJiAoYSArPSBNT0QpOyB9CmlubGluZSBsbCBtb2RNdWwobGwgYSwgbGwgYiwgbGwgTU9EKSB7IGEgJT0gTU9ELCBiICU9IE1PRDsgbm9ybWFsKGEsIE1PRCksIG5vcm1hbChiLCBNT0QpOyByZXR1cm4gKGEqYiklTU9EOyB9CmlubGluZSBsbCBtb2RBZGQobGwgYSwgbGwgYiwgbGwgTU9EKSB7IGEgJT0gTU9ELCBiICU9IE1PRDsgbm9ybWFsKGEsIE1PRCksIG5vcm1hbChiLCBNT0QpOyByZXR1cm4gKGErYiklTU9EOyB9CmlubGluZSBsbCBtb2RTdWIobGwgYSwgbGwgYiwgbGwgTU9EKSB7IGEgJT0gTU9ELCBiICU9IE1PRDsgbm9ybWFsKGEsIE1PRCksIG5vcm1hbChiLCBNT0QpOyBhIC09IGI7IG5vcm1hbChhLCBNT0QpOyByZXR1cm4gYTsgfQppbmxpbmUgbGwgbW9kUG93KGxsIGIsIGxsIHAsIGxsIE1PRCkgeyBsbCByID0gMTsgd2hpbGUocCkgeyBpZihwJjEpIHIgPSBtb2RNdWwociwgYiwgTU9EKTsgYiA9IG1vZE11bChiLCBiLCBNT0QpOyBwID4+PSAxOyB9IHJldHVybiByOyB9CmlubGluZSBsbCBtb2RJbnZlcnNlKGxsIGEsIGxsIE1PRCkgeyByZXR1cm4gbW9kUG93KGEsIE1PRC0yLCBNT0QpOyB9CmlubGluZSBsbCBtb2REaXYobGwgYSwgbGwgYiwgbGwgTU9EKSB7IHJldHVybiBtb2RNdWwoYSwgbW9kSW52ZXJzZShiLCBNT0QpLCBNT0QpOyB9CgoKCi8vdmkgZGl2aXNvckxpc3Rbc3pdOwovL2xsIGRpdmlzb3JOdW1iZXJbc3pdOwovL3ZvaWQgZmluZERpdmlzb3IobGwgbil7Ci8vCSAgZm9yKGxsIGk9MTsgaTw9bjsgaSsrKXsKLy8JCQlmb3IobGwgaj1pOyBqPD1uOyBqKz1pKXsKLy8JCQkJIGRpdmlzb3JMaXN0W2pdLnBiKGkpOwovLwkJICAgICAJIGRpdmlzb3JOdW1iZXJbal0rKzsKLy8JCQl9Ci8vCSAgfQovL30KCmJvb2wgaXNQYWxpbmRyb21lKHN0cmluZyBzKXtsbCBpPTAsaj1zLnNpemUoKS0xO2ZvcihpLGo7aTw9ajtpKyssai0tKXtpZihzW2ldIT1zW2pdKSByZXR1cm4gMDt9cmV0dXJuIDE7fQpsbCBnY2QobGwgYSwgbGwgIGIpe3JldHVybiBiPT0wPyBhOiBnY2QoYiwgYSViKTt9Ci8vLy8gbGNtICogZ2NkID0gYSpiCmxsIGxjbShsbCBhLCBsbCBiKXtpZihhPmIpc3dhcChhLCBiKTtyZXR1cm4gYSooYi9nY2QoYSwgYikpO30KLy9ib29sIGlzUGFsaW5kcm9tZShzdHJpbmcgcyl7IGxsIGk9MCxqPXMuc2l6ZSgpLTE7Zm9yKGksajtpPD1qO2krKyxqLS0pe2lmKHNbaV0hPXNbal0pIHJldHVybiAwO30gcmV0dXJuIDE7fQpib29sIGlzUG93ZXJvZlR3byhsbCBuKXtyZXR1cm4gKG4gJiYgIShuJihuLTEpKSk7fQovL2xsIGNvdW50X29uZShsbCBuKXtsbCBjb3VudD0wO3doaWxlKG4pe24gJj0gKG4tMSk7Y291bnQrKzt9cmV0dXJuIGNvdW50O30KLy9zdHJpbmcgYmluUmVwKGxsIG4pe3N0cmluZyBzPSIiO2xsIGYgPSAwO3doaWxlKG4+MCl7aWYobiUyKXtmPTE7cys9JzEnO31lbHNlIHMrPScwJztuLz0yO31pZihzLmVtcHR5KCkpcmV0dXJuICIwIjtlbHNlIHJldHVybiBzO30KLy9sbCBjdHoobGwgbil7cmV0dXJuIF9fYnVpbHRpbl9jdHpsbChuKTt9Ci8vbGwgY2x6KGxsIG4pe3JldHVybiBfX2J1aWx0aW5fY2x6bGwobik7fQovL2xsIGJpdENvdW50KGxsIG4pe3JldHVybiBfX2J1aWx0aW5fcG9wY291bnRsbChuKTt9CgovL2JpdHNldDxzej4gaXNfcHJpbWU7Ci8vdmVjdG9yPGludD5wcmltZTsKLy8KLy92b2lkIHByaW1lR2VuKGxsIG4pewovLyAgICAgZm9yKGxsIGk9MzsgaTw9bjsgaSs9Milpc19wcmltZVtpXT0xOwovLyAgICAgbGwgbm4gPSBzcXJ0KG4pKzE7Ci8vICAgICBmb3IobGwgaT0zOyBpPG5uOyBpKz0yKXsKLy8JCSAgICAgaWYoaXNfcHJpbWVbaV09PTApY29udGludWU7Ci8vCQkJZm9yKGxsIGo9aSppOyBqPD1uOyBqKz0oaStpKSl7Ci8vCQkJCWlzX3ByaW1lW2pdPTA7Ci8vCQkJfQovLyAgICAgfQovLyAgICAgaXNfcHJpbWVbMl09MTsKLy8gICAgIHByaW1lLnBiKDIpOwovLwovLyAgICAgZm9yKGludCBpPTM7IGk8PW47IGkrPTIpewovLyAgICAgICAgaWYoaXNfcHJpbWVbaV0pIHByaW1lLnBiKGkpOwovLyAgICAgfQovL30KLy8vLwovLy8qKgovL0ZhaXNhbCBBbWluIEFiaXIoMjAtNDMyMDYtMSkKLy8qKi8KLy8KLy8KLy92ZWN0b3I8bGw+ZmFjdG9yaXphdGlvbihsbCBuKXsKLy8JLy9PKHNxcnQobikvbG4oc3FydChuKSkgKyBsb2cyIG4pCi8vCXZlY3RvcjxsbD5mYWN0b3JzOwovLwlmb3IoYXV0byB1OnByaW1lKXsKLy8JCWlmKDFMTCp1KnUgPiBuKSBicmVhazsKLy8JCWlmKG4ldT09MCl7Ci8vCQkJLy9mYWN0b3JzLnB1c2hfYmFjayh1KTsvL2ZvciBnZW5lcmF0aW5nIHVuaXF1ZSBmYWN0b3JzIGtlZXAgdGhpcyBsaW5lIGhlcmUKLy8JCQl3aGlsZShuJSh1KT09MCl7Ci8vCQkJCWZhY3RvcnMucHVzaF9iYWNrKHUpOy8vZm9yIGdlbmVyYXRpbmcgYWxsIGZhY3RvcnMga2VlcCB0aGlzIGxpbmUgaGVyZQovLwkJCQluLz0odSk7Ci8vCQkJfQovLwkJfQovLwl9Ci8vCWlmKG4+MSlmYWN0b3JzLnB1c2hfYmFjayhuKTsKLy8JcmV0dXJuIGZhY3RvcnM7Ci8vfQoKLy9sbCBOT0QobG9uZyBsb25nIG4pewovLwlsbCByZXM9MTsKLy8JZm9yKGF1dG8gdTpwcmltZSl7Ci8vCQlpZigxTEwqdSp1ID4gbilicmVhazsKLy8JCWlmKG4ldT09MCl7Ci8vCQkgICAgICBsbCBjb3VudD0xOwovLwkJCXdoaWxlKG4ldT09MCl7Ci8vCQkJCW4vPXU7Ci8vCQkJCWNvdW50Kys7Ci8vCQkJfQovLwkJCXJlcyAqPSBjb3VudDsKLy8JCX0KLy8JfQovLwlpZihuPjEpcmVzKj0yOwovLwlyZXR1cm4gcmVzOwovL30KLy8gICAgICAgICAgUiAgRCAgTCAgVSAgdVIgZFIgZEwgdUwKCmxsIGR4W10gPSB7MCwgMSwgMCwtMSwtMSwgMSwgMSwgLTF9OwpsbCBkeVtdID0gezEsIDAsLTEsIDAsIDEsIDEsLTEsIC0xfTsKCgoKLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQovLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiogQ09ERSBTVEFSVFMgSEVSRSAqKgovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgp2b2lkIHNvbHZlKCl7CgogICAgaW50IG4gOwogICAgY2luPj5uOwogICAgdmVjdG9yPHN0cmluZz52OwogICAgZm9yKGludCBpPTE7IGk8PW47IGkrKyl7CiAgICAgICAgdi5wYih0b19zdHJpbmcoaSkpOwogICAgfQogICAgc29ydChhbGwodikpOwoKICAgIGZvcihpbnQgaT0wOyBpPG47IGkrKyl7CiAgICAgICAgY291dCA8PCBpICsgMSA8PCAiOiAiIDw8IHZbaV0gPDwgZW5kbDsKICAgIH0KCn0KaW50IG1haW4oKXsKICAgYm9vc3Q7CgoKICAgaW50IHQ9MTsKICAgLy9jaW4+PnQ7CiAgIHdoaWxlKHQtLSl7CiAgICBzb2x2ZSgpOwogICB9CgovL3ByaW9yaXR5X3F1ZXVlPHBhaXI8aW50LGludD4+cTsKLy9xLnB1c2goezIsIDF9KTsKLy9xLnB1c2goezEsIDJ9KTsKLy9jb3V0IDw8IHEudG9wKCkuZmY7CgoKCXJldHVybiAwOwp9CgovKgoKCgoxMDEwMQoxMTEwMQoxMDExMQoxMTExMQoKKi8K