Problem:
Score : 100 points

Problem Statement

This contest, AtCoder Beginner Contest, is abbreviated as ABC.

When we refer to a specific round of ABC, a three-digit number is appended after ABC. For example, ABC680 is the 680th round of ABC.

What is the abbreviation for the N-th round of ABC? Write a program to output the answer.

Constraints

100 ≤ N ≤ 999

Input

Input is given from Standard Input in the following format:

N

Output

Print the abbreviation for the N-th round of ABC.

Sample Input 1

100

Sample Output 1

ABC100

The 100th round of ABC is ABC100.

Sample Input 2

425

Sample Output 2

ABC425

Sample Input 3

999

Sample Output 3

ABC999

Solution in C# (Mono 4.6.2.0) (judge verdict: Accepted)

using System;
using System.Text;
using System.Linq;
using System.Collections.Generic;


class Program {

	const long mod = 1000000007;
	//public static int[] max;

	static void Main(string[] args) {

		char[] cs = new char[] { ' ', ',' };
		//int val = int.Parse(Console.ReadLine());
		//int[] vals = parseAry(Console.ReadLine().Split(cs));
		//string str = Console.ReadLine();
		//string[] strs = Console.ReadLine().Split(cs);

		//int[] vals = parseAry(Console.ReadLine().Split(cs));
		//int n = vals[0];
		//string res="";

		//int y = vals[0];
		//int x = vals[1];



		Console.WriteLine("ABC" + int.Parse(Console.ReadLine()));


		return;
	}



	//　String[]  ----->  int[]
	static int[] parseAry(string[] str) {
		int[] nums = new int[str.Length];
		for (int i = 0; i < str.Length; i++) { nums[i] = int.Parse(str[i]); }
		return nums;
	}
	//　String[]  ----->  long[]
	static long[] parseAryl(string[] str) {
		long[] nums = new long[str.Length];
		for (int i = 0; i < str.Length; i++) { nums[i] = int.Parse(str[i]); }
		return nums;
	}



	//文字列を1文字ずつString[]に入れる
	static string[] strAry(String str) {
		string[] re = new string[str.Length];
		for (int i = 0; i < str.Length; i++) { re[i] = str[i].ToString(); }
		return re;
	}

	public class PriQ {
		public int rank { get; set; }
		public string rankstr { get; set; }
		public int num { get; set; }
		public int[] nums { get; set; }
		public Object obj { get; set; }
		public PriQ() { }
	}

	public class PriorityQueue {
		List<PriQ> list = new List<PriQ>();
		public PriorityQueue() { }
		public PriorityQueue(PriQ p) { list.Add(p); }
		public void Enqueue(PriQ item) { list.Insert(Binary_Search(item), item); }
		public PriQ Dequeue() { PriQ r = list[0]; list.RemoveAt(0); return r; }
		public PriQ DequeueLast() { PriQ r = list[list.Count - 1]; list.RemoveAt(list.Count - 1); return r; }
		public PriQ Peek() { return list[0]; }
		public PriQ Get(int n) { return list[n]; }
		public PriQ Last() { return list[list.Count - 1]; }
		public void Remove(int n) { list.RemoveAt(n); }
		public int Count { get { return list.Count; } }

		private int Binary_Search(PriQ pq) {
			int Lower = 0;
			int Upper = list.Count - 1;
			while (Lower <= Upper) {
				int Center = ( Lower + Upper ) >> 1;
				if (pq.rank > list[Center].rank) {
					Lower = Center + 1;
				} else if (pq.rank < list[Center].rank) {
					Upper = Center - 1;
				} else {
					return Center;
				}
			}
			return Lower;
		}
	}
}