#include <stdio.h>
int main()
{
  int a[] = {1, 2, 3, 4, 5};
  int b[] = {1, 2, 3, 4, 5, 6};
  int len, count, i, j, k, arylen, m, t, sum;

  printf("1回あたりの長さ = ");
  scanf("%d", &len);
  printf("回数 = ");
  scanf("%d", &count);

  printf("例1\n");
  arylen = sizeof(a) / sizeof(a[0]);
  k = 0;
  for (i = 0; i < count; ++i) {
    printf("%d回目 ", i+1);
    for (j = 0; j < len; ++j) {
      printf("a[%d]=%d ", k, a[k]);
      k = (k + 1) % arylen;
    }
    printf("\n");
  }

  printf("例2\n");

  arylen = sizeof(b) / sizeof(b[0]);
  k = 0;
  for (i = 0; i < count; ++i) {
    printf("%d回目 ", i+1);
    m = -1;
    for (j = 0; j < len; ++j) {
      printf("b[%d]=%d ", k, b[k]);
      t = b[k];
      sum = 0;
      while (t) {
        sum += (t & 1);
        t = t >> 1;
      }
      // printf("sum=%d\n", sum);
      if (sum == 1)m = k;
      k = (k + 1) %
          arylen;
    }
    if (m >= 0)k = (m + 1) %
                     arylen;
    printf("\n");
  }

  return 0;
}
