/*
 * N random numbers integers in [0, M)
 * 
 * 
 */

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

int strlength(char s[]);

int main(int argc, char *argv[])
{
  int N = atoi(argv[1]);
  int L = atoi(argv[2]);
  char *alph = argv[3];
  long seed = atol(argv[4]);
  int l = strlength(alph);
  int i;

  srand(seed);
  for (i = 0; i < N; ++i) {
    int j, t = 1 + (int)(L * (1.0 * rand()/(RAND_MAX + 1L)));
    for (j = 0; j < t; j++) {
      int i = (int)(l * (1.0 * rand()/(RAND_MAX + 1L)));
      printf("%c", alph[i]);
    }
    printf("\n");
  }

  return 0;
}

int strlength(char s[])
{
  int i = 0;

  while (s[i] != '\0')
    i++;

  return i;
}
