// Produces standard times table 	
import java.util.*;	
	
public class MultiplicationTable {	
	// main(): application entry point 	
	public static void main(String[] args) {	
		final int MAX_FACTOR = 12;	
	
		// display table header 	
		System.out.print(" * |");	
		for (int i = 0; i <= MAX_FACTOR; ++i) {	
			System.out.printf("%4d", i);	
		}	
		System.out.println();	
		for (int i = 0; i <= MAX_FACTOR+1; ++i) {	
			System.out.print("----");	
		}	
		System.out.println();	
	
		// display table 	
		for (int i = 0; i <= MAX_FACTOR; ++i) {	
			// display row label 	
			System.out.printf("%2d |", i);	
	
			// display row entries 	
			for (int j = 0; j <= MAX_FACTOR; ++j) {	
				// compute entry 	
				int product = i * j;	
	
				// pretty-print entry 	
				System.out.printf("%4d", product);	
			}	
	
			// finish up the row 	
			System.out.println();	
		}	
	}	
}	
