using System;
using System.Linq;
class Program
{
static int min = 1, max = 50000;
static void printValues(int val)
{
if (val-3 > min)
Console.WriteLine(min);
for (int i = Math.Max(min, val-3); i <= Math.Min(max, val+3); i++)
Console.WriteLine(i);
int last = -1;
for (int i = 10; ; i *= 10)
{
int next = (val+3 + i) / i * i;
if (next > max)
break;
// prevent printing something like 90, 130, 100, 500 (100 won't print)
if (next > last)
Console.WriteLine(next);
next += 4*i;
if (next > max)
break;
Console.WriteLine(next);
last = next;
}
}
static void Main()
{
printValues(1111);
Console.WriteLine();
printValues(4);
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uTGlucTsKCmNsYXNzIFByb2dyYW0KewogICAgc3RhdGljIGludCBtaW4gPSAxLCBtYXggPSA1MDAwMDsKICAgIAoJc3RhdGljIHZvaWQgcHJpbnRWYWx1ZXMoaW50IHZhbCkKCXsKCSAgaWYgKHZhbC0zID4gbWluKQogICAgICAgICBDb25zb2xlLldyaXRlTGluZShtaW4pOwoKICAgICAgZm9yIChpbnQgaSA9IE1hdGguTWF4KG1pbiwgdmFsLTMpOyBpIDw9IE1hdGguTWluKG1heCwgdmFsKzMpOyBpKyspCiAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKGkpOwoKICAgICAgaW50IGxhc3QgPSAtMTsKICAgICAgZm9yIChpbnQgaSA9IDEwOyA7IGkgKj0gMTApCiAgICAgIHsKICAgICAgICAgaW50IG5leHQgPSAodmFsKzMgKyBpKSAvIGkgKiBpOwogICAgICAgICBpZiAobmV4dCA+IG1heCkKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIC8vIHByZXZlbnQgcHJpbnRpbmcgc29tZXRoaW5nIGxpa2UgOTAsIDEzMCwgMTAwLCA1MDAgKDEwMCB3b24ndCBwcmludCkKICAgICAgICAgaWYgKG5leHQgPiBsYXN0KQogICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZShuZXh0KTsKICAgICAgICAgbmV4dCArPSA0Kmk7CiAgICAgICAgIGlmIChuZXh0ID4gbWF4KQogICAgICAgICAgICBicmVhazsKICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUobmV4dCk7CiAgICAgICAgIGxhc3QgPSBuZXh0OwogICAgICB9Cgl9CgkKICAgIHN0YXRpYyB2b2lkIE1haW4oKQogICAgewogICAgICBwcmludFZhbHVlcygxMTExKTsKCSAgQ29uc29sZS5Xcml0ZUxpbmUoKTsKICAgICAgcHJpbnRWYWx1ZXMoNCk7CiAgICB9Cn0=