// Arup Guha
// 7/27/2020
// Solution to 2020 Summer COP 3502 Final Exam Part A Q1

#include <stdio.h>
#include <stdlib.h>

int main(void) {

    int** studentscores;
    int* numScores;
    int i, j, numStudents;

    scanf("%d", &numStudents);

    // Slightly adjusted here so I know the size of each array afterwards.
    studentscores = malloc(numStudents*sizeof(int*));
    numScores = malloc(numStudents*sizeof(int));

    // Go through each student.
    for (int i=0; i<numStudents; i++) {

        // Read in # of scores, allocate space to store.
        scanf("%d", &numScores[i]);
        studentscores[i] = malloc(numScores[i]*sizeof(int));

        // Read in.
        for (int j=0; j<numScores[i]; j++)
            scanf("%d", &studentscores[i][j]);
    }

    // Print to check.
    for (int i=0; i<numStudents; i++) {
        for (int j=0; j<numScores[i]; j++)
            printf("%d ",studentscores[i][j]);
        printf("\n");
    }

    // Free stuff.
    for (int i=0; i<numStudents; i++)
        free(studentscores[i]);
    free(studentscores);
    free(numScores);

    return 0;
}
