public static void main(String[] args) throws IOException {
	if (args.length > 3) {
	    System.err.println(USAGE_MESSAGE);
	    System.exit(1);
	}
	Test.copyStream(args.length < 2 ? System.in : new FileInputStream(args[1]),
			new ArithCodeOutputStream(args.length < 3 ? (OutputStream) System.out : new FileOutputStream(args[2]),
						  new PPMModel(args.length < 1 ? 8 : Integer.parseInt(args[0]))));
    }