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

namespace atcoder_cs
{
	class Program
	{
		static double CalcSunuke(long num)
		{
			long tmp = num;
			long sn = 0;

			while (tmp > 0)
			{
				sn += (tmp % 10);
				tmp /= 10;
			}
			
			return num / (double)sn;
		}

		static void PrintSunuke(long k)
		{
			int count = 0;
			for (int i = 1; i < 10; i++)
			{
				Console.WriteLine(i.ToString());
				++count;

				if (count >= k)
				{
					return;
				}
			}

			long baseNum = 9;
			long baseDigit = 10;

			while (count < k)
			{
				long topNum = 1;
				long nextCandidate = 0;
				long nowCandidate = topNum * baseDigit + baseNum;

				while (nowCandidate <= nextCandidate)
				{
					++topNum;
					nowCandidate = topNum * baseDigit + baseNum;
				}

				double sunuke = CalcSunuke(nowCandidate);
				while (count < k)
				{
					++topNum;
					nextCandidate = topNum * baseDigit + baseNum;
					double tmpSunuke = CalcSunuke(nextCandidate);

					if (sunuke < tmpSunuke)
					{
						Console.WriteLine(nowCandidate.ToString());
						nowCandidate = nextCandidate;
						sunuke = tmpSunuke;
						++count;
					}
					else
					{
						baseNum = baseNum * 10 + 9;
						baseDigit *= 10;
						break;
					}
				}

			}

		}

		static void Main(string[] args)
		{
			long k;
			string str = Console.ReadLine();
			k = long.Parse(str);

			PrintSunuke(k);

			return;
		}
	}
}
