#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int* solution(int n, long long left, long long right) {
// return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
int* answer = (int*)malloc(sizeof(int)*((n*n)+1));
int i, j, k, l;
int f = 0;
int a = 1;
int** arr = (int**)malloc(sizeof(int*)*n);
for(i=0;i<n;i++)
arr[i] = (int*)malloc(sizeof(int)*n);
int ar[100001] = {};
int e = 0;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
arr[i][j] = a;
a++;
}
a = a - n + 2;
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
answer[f] = arr[i][j];
f++;
}
}
return answer;
}