#include <bits/stdc++.h>
using namespace std;
#define ll long long
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
ll n,d,m,z=0;
cin>>n>>d>>m;
map<ll,ll>c;
set<ll>e;
vector<ll>v(m);
vector<vector<ll>>o(n+1);
for(int i=0;i<m;i++)
{
cin>>v[i];
o[v[i]].push_back(i+1);
e.insert(v[i]);
c[v[i]]++;
z=max(z,c[v[i]]);
}
ll l=1,r=m,k=m;
while(l<=r)
{
ll mi=(l+r)>>1;
if(z<=(d+1)*mi && mi*n>=m)
{
k=mi;
r=mi-1;
}
else
l=mi+1;
}
cout<<k<<endl;
ll w=0,p=0;
bool q=0;
for(int i:e)
{
for(int j=0;j<o[i].size();j++)
{
if(i>p+1)
{
cout<<0<<endl;
j--;
p++;
w=0;
q=0;
}
else if(w==k)
{
cout<<0<<endl;
cout<<o[i][j]<<' ';
q=1;
p++;
w=1;
}
else
{
cout<<o[i][j]<<' ';
q=1;
w++;
}
}
}
if(q)
{
p++;
cout<<0<<endl;
}
for(int i=p;i<n;i++)
cout<<0<<endl;
}