import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/**
*
* @author billy.johnson
*/
public class MatrizFibonacci {
public static void main(String [] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Tamaño de la matriz: ");
int tamano = Integer.parseInt(br.readLine());
System.out.print("Primer número: ");
int primerNumero = Integer.parseInt(br.readLine());
System.out.print("Segundo número: ");
int segundoNumero = Integer.parseInt(br.readLine());
//Creamos un vector que contenga la sucesión de números
int [] elementos = new int[tamano * tamano];
elementos[0] = primerNumero;
elementos[1] = segundoNumero;
//Cargamos el vector con la sucesión de números
for (int i = 2; i < elementos.length; i++) {
elementos[i] = elementos[i-1] + elementos[i-2];
}
//creamos un indice/contador para recorrer el vector
int c = -1;
//Creamos la matriz y la llenamos con los elementos del vector
int [][] matriz = new int[tamano][tamano];
for (int i = 0; i < matriz.length; i++) {
for (int j = 0; j < matriz.length; j++) {
//Este contador nos permite recorrer el vector con los elementos de la sucesión
c++;
matriz[i][j] = elementos[c];
}
}
//Ahora mostramos la matriz
for (int i = 0; i < matriz.length; i++) {
for (int j = 0; j < matriz.length; j++) {
System.out.print(matriz[i][j] + "\t");
}
System.out.println();
}
}
}