Language: C++

//#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <cmath>
#include <queue>
#include <climits>
#include <set>
#include <map>
#include <stack>
#include <iomanip>
#include <tuple>
#include<cstdio>
#define ll long long
#define rep(i,s,n) for(ll i = (ll)(s); i < (ll)(n); i++)
#define all(a) (a).begin(),a.end()
#define mod 1000000007
#define P pair<ll,ll>
using namespace std;
using graph =vector<vector<ll>>;
const ll MAX = 510000;
const ll MOD = 1000000007;

ll fac[MAX], finv[MAX], inv[MAX];

// テーブルを作る前処理
void cominit() {
    fac[0] = fac[1] = 1;
    finv[0] = finv[1] = 1;
    inv[1] = 1;
    for (ll i = 2; i < MAX; i++){
        fac[i] = fac[i - 1] * i % MOD;
        inv[i] = MOD - inv[MOD%i] * (MOD / i) % MOD;
        finv[i] = finv[i - 1] * inv[i] % MOD;
    }
}

// 二項係数計算nCk
ll com(ll n, ll k){
    if (n < k) return 0;
    if (n < 0 || k < 0) return 0;
    return fac[n] * (finv[k] * finv[n - k] % MOD) % MOD;
}

// 二項係数計算nPk
ll per(ll n, ll k){
    if (n < k) return 0;
    if (n < 0 || k < 0) return 0;
    return fac[n] * (finv[n-k] % MOD) % MOD;
}

// mod. m での a の逆元 a^{-1} を計算する
ll modinv(ll a, ll m) {
    ll b = m, u = 1, v = 0;
    while (b) {
        ll t = a / b;
        a -= t * b; swap(a, b);
        u -= t * v; swap(u, v);
    }
    u %= m;
    if (u < 0) u += m;
    return u;
}

/* ユークリッドの互除法 最大公約数*/
ll gcd(ll a, ll b) {
	return b ? gcd(b,a%b) : a;
}



/*最小公倍数*/

ll lcm(ll a,ll b){
	return a/gcd(a,b)*b;
}


/*二点間の距離*/
double dist(pair<double,double> a,pair<double,double> b){
	return sqrt(pow((a.first - b.first) ,2) + pow((a.second - b.second),2));
}

//繰り返し自乗法
double ism(double aa,ll p){
    double ap=aa;
    double ans=1;
    while(p>0){
        //cout<<"p="<<p<<",ap="<<ap<<endl;
        if(p&1){//奇数が真
            ans*=ap;
        }
        p/=2;
        ap=ap*ap;
    }
    return ans;

}
//繰り返し自乗法(アマリトリバージョン)
ll ismm(ll aa,ll p,ll m){
    ll ap=aa;
    ll ans=1;
    while(p>0){
        //cout<<"p="<<p<<",ap="<<ap<<endl;
        if(p&1){//奇数が真
            ans=(ans*ap)%m;    
        }
        p/=2;              
        ap=(ap*ap)%m;
    }
    return ans;

}
/*
ll solve(ll i,ll m,vector<ll>t,ll n){
    if(m==0){
        return 1;
    }
    if(i>=n){
        return 0;
    }
    
    
    cout<<i+1<<" "<<m<<endl;
    cout<<i+1<<" "<<m-t[i]<<endl;
    ll res=solve(i+1,m,t,n)||solve(i+1,m-t[i],t,n);
    return res;
}
*/


//小数点12桁
struct all_init
{
    all_init()
    {
        cout << fixed << setprecision(12);
    }
} All_init;


int main()
{
    ll n,m;
    cin>>n>>m;
    vector<ll>p(100000),y(100000);
    vector<ll>yd(100001);
    rep(i,0,m){
        cin>>p[i]>>y[i],yd[p[i]].push_back(y[i]);
    }
    rep(i,0,n){
        sort(yd[i+1].begin(),yd[i+1].end());
    }
    rep(i,0,m){
        printf("%012lld\n",p[i]*1000000
        +(lower_bound(yd[p[i]].begin(),yd[p[i]].end(),y[i])-yd[p[i]].begin())+1);
    }
}


Compiler output:
a.cc: In constructor 'all_init::all_init()':
a.cc:137:9: error: 'cout' was not declared in this scope
  137 |         cout << fixed << setprecision(12);
      |         ^~~~
a.cc:14:1: note: 'std::cout' is defined in header '<iostream>'; this is probably fixable by adding '#include <iostream>'
   13 | #include<cstdio>
  +++ |+#include <iostream>
   14 | #define ll long long
a.cc: In function 'int main()':
a.cc:145:5: error: 'cin' was not declared in this scope
  145 |     cin>>n>>m;
      |     ^~~
a.cc:145:5: note: 'std::cin' is defined in header '<iostream>'; this is probably fixable by adding '#include <iostream>'
a.cc:149:34: error: request for member 'push_back' in 'yd.std::vector<long long int>::operator[](((std::vector<long long int>::size_type)p.std::vector<long long int>::operator[](((std::vector<long long int>::size_type)i))))', which is of non-class type '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'}
  149 |         cin>>p[i]>>y[i],yd[p[i]].push_back(y[i]);
      |                                  ^~~~~~~~~
a.cc:152:22: error: request for member 'begin' in 'yd.std::vector<long long int>::operator[](((std::vector<long long int>::size_type)(i + 1)))', which is of non-class type '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'}
  152 |         sort(yd[i+1].begin(),yd[i+1].end());
      |                      ^~~~~
a.cc:152:38: error: request for member 'end' in 'yd.std::vector<long long int>::operator[](((std::vector<long long int>::size_type)(i + 1)))', which is of non-class type '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'}
  152 |         sort(yd[i+1].begin(),yd[i+1].end());
      |                                      ^~~
a.cc:156:32: error: request for member 'begin' in 'yd.std::vector<long long int>::operator[](((std::vector<long long int>::size_type)p.std::vector<long long int>::operator[](((std::vector<long long int>::size_type)i))))', which is of non-class type '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'}
  156 |         +(lower_bound(yd[p[i]].begin(),yd[p[i]].end(),y[i])-yd[p[i]].begin())+1);
      |                                ^~~~~
a.cc:156:49: error: request for member 'end' in 'yd.std::vector<long long int>::operator[](((std::vector<long long int>::size_type)p.std::vector<long long int>::operator[](((std::vector<long long int>::size_type)i))))', which is of non-class type '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'}
  156 |         +(lower_bound(yd[p[i]].begin(),yd[p[i]].end(),y[i])-yd[p[i]].begin())+1);
      |                                                 ^~~
a.cc:156:70: error: request for member 'begin' in 'yd.std::vector<long long int>::operator[](((std::vector<long long int>::size_type)p.std::vector<long long int>::operator[](((std::vector<long long int>::size_type)i))))', which is of non-class type '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'}
  156 |         +(lower_bound(yd[p[i]].begin(),yd[p[i]].end(),y[i])-yd[p[i]].begin())+1);
      |                                                                      ^~~~~