/*******************************************************************************
 * Copyright (c) 2000, 2008 IBM Corporation and others.
 *
 * This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License 2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 * 
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/

/**
 * Counts one thru ten on the console
 */
public class OneToTenPrint {

	public static void main(String[] args) {
		System.out.println("one");
		System.out.println("two");
		System.out.println("three");
		System.out.println("four");
		System.out.println("five");
		System.out.println("six");
		System.out.println("seven");
		System.out.println("eight");
		System.out.println("nine");
		System.out.print("ten");
		System.exit(0);
	}
}
