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

namespace Contest.cs
{
	class Program
	{
		static void Main(string[] args)
		{
			int k = ReadIntList()[0];
			if (k <= 9)
			{
				for (int i = 1; i <= k; i++)
				{
					Console.WriteLine(i);
				}
				return;
			}
			else
			{
				UInt64 counter = 10;
				for (int i = 1; i < 10; i++)
				{
					Console.WriteLine(i);
				}
				var flag = false;

				int p = 1;
				while (p <= k - 9)
				{
					flag = false;
					for (int j = 0; j < 14; j++)
					{
						if (Su(counter) >= Su(counter + (UInt64)Math.Pow(10, j)))
						{
							flag = false;
							break;
						}
						else
						{
							flag = true;
						}
					}
					if (flag)
					{
						Console.WriteLine(counter);
						p++;
					}
					counter++;
					if (counter > 1000000000000000) break;
				}
			}
		}

		private static double Su(UInt64 a)
		{
			var temp = a;
			UInt64 sum = 0;
			while (temp != 0)
			{
				sum += temp % 10;
				temp /= 10;
			}
			return (double)a / sum;
		}

		static string[] ReadStr()
		{
			return Console.ReadLine().Split(' ').ToArray();

		}

		static int[] ReadIntList()
		{
			return Console.ReadLine().Split(' ').Select(x => int.Parse(x)).ToArray();
		}
	}
}