#include <stdio.h>
#include <stdlib.h>

const int mval = 500;
const int nval = 20;

int r[1001];
int rII[1001];

int coot[501];
int cootII[501];
int cootIII[501];
int cootIV[501];

int x=0;
int k=0;
int j=0;
int i=0;

int main(void){

for(i; i<nval; i++){
  r[i] = rand() % 501;
  coot[r[i]]++;
  printf("%i, ", r[i]);
  }

for(i=0;i<500;i++)
  if(coot[i]>0){
    cootII[i] = j;
    cootIII[j] = k;
    k += coot[i];
    j++;
    }
  

printf("\n");

for(i=0; i<nval; i++){
  x = cootII[r[i]];
  rII[cootIII[x]+cootIV[x]] = i;
  cootIV[x]++;
  }

for(i=0; i<nval; i++)
  printf("%i, ", r[rII[i]]);
  
printf("\n\n index \n");  

for(i=0; i<nval; i++)
  printf("%i, ", rII[i]);


return 0;    

}