#include <stdio.h>
#include <stdlib.h>
#include <time.h> //乱数の生成のため

typedef struct {
    char na[64];
    int stts[6];
} Monster;

Monster creMonster(){
    int i,k;
    Monster tmp;
    k = rand()%8+4;
    for(i=0;i<k;i++) tmp.na[i] = 'a' + rand()%26;
    tmp.na[k] = '\0';
    for(i=0;i<6;i++) tmp.stts[i] = rand()%255+1;
    return tmp;
}

void priMonster(Monster m){
    printf("%12s  : ", m.na);
    for(int i = 0; i < 6; i++){
        printf("%3d ", m.stts[i]);
    }
    printf("\n");
}

int main(){
    int n;
    scanf("%d", &n);

    srand((unsigned int)time(NULL));

    // ★ここが課題の本体：Monster を n 体動的確保
    Monster *mons = malloc(n * sizeof(Monster));

    // モンスターを生成して配列に入れる
    for(int i = 0; i < n; i++){
        mons[i] = creMonster();
    }

    // モンスターを表示
    for(int i = 0; i < n; i++){
        priMonster(mons[i]);
    }

    // 最後に忘れずに free
    free(mons);

    return 0;
}
