/*** Pascal Triangle 是用來暸解array很好的例子 ***/
import java.io.*;
public class p7 {
     static final int MAXorder= 14;
     public static void main(String [ ]p) throws IOException
     {
          int i,j,k;
          int n;
          int x[ ] [ ] = new int [MAXorder+1][MAXorder+1];
          printf("Generate 巴斯卡三角形, order=?");
          n = readNumber( );
         while( !(3<=n &&  n<=MAXorder)) {
              printf(" order must be in 3.." + MAXorder +  ", order=?" );
              n = readNumber();
           } // while
      for(i=0; i<=n; i++){
          x[i][0]=1; x[i][i] =1;
          for(j=1; j<= i-1; j++){
             x[i][j]= x[i-1][j] + x[i-1][j-1];
          }
          for(j =0; j<=i; j++){
             printn(x[i][j]);
          };
          printf("\n");
      }; /* for i */
      printf("\nbye\n");
  } // main
  static void printf(String s) { System.out.print(s); }
  static int readNumber( ) throws IOException {
       InputStreamReader isr = new InputStreamReader(System.in);
       BufferedReader br = new BufferedReader(isr);
       return Integer.parseInt(br.readLine( ) );
  }
  static void printn(int n) {
      if(n<1000) printf(" ");
      if(n<100) printf(" "); if(n<10) printf(" ");
      printf(" " + n);
  }
}
