#include <iostream>
#include <vector>
using namespace std;
int main(void){
int P, n; cin>>P>>n;
int M = 316;
if(P == 1){
cout<<650<<endl;
vector<int> sel(316, 0);
vector<int> bucketSize(316, 316);
for(int i = 0; i<(100000-316*316); i++) bucketSize[i] = 317;
int x_count = 318;
for(int i = 0; i<n; i++){
int ind; cin>>ind;
if(sel[ind] < bucketSize[ind] - 1){
sel[ind] ++;
cout<<sel[ind]<<endl;
}
else{
sel[ind] ++;
cout<<x_count<<endl;
x_count++;
}
}
}
if(P == 2){
vector<int> v(n, 0);
for(int i = 0; i<n; i++) cin>>v[i];
vector<int> bucketSize(316, 316);
for(int i = 0; i<(100000-316*316); i++) bucketSize[i] = 317;
vector<pair<int, int>> freq(650, {-1, -1});
for(int i = 0; i<v.size(); i++){
if(freq[v[i]].first == -1) freq[v[i]].first = i;
else freq[v[i]].second = i;
}
for(int i = 318; i<freq.size(); i++){
if(freq[i].second != -1){
cout<<freq[i].first<<' '<<freq[i].second<<endl;
return 0;
}
}
for(int i = 0; i<bucketSize.size(); i++){
freq.assign(650, {-1, -1});
for(int j = i; j<i+bucketSize[i]; j++){
if(freq[v[j]].first == -1) freq[v[j]].first = j;
else{
cout<<freq[v[j]].first<<' '<<j<<endl;
return 0;
}
}
}
}
return 0;
}