Logo Universal Online Judge

UOJ

时间限制:3 s 空间限制:32 MB
Statistics

本题由南山卢致远原创!在此感谢!

致标家的电表坏老!坏老!
致标在朋友们的建议下打算去苏宁电器店买一个电表;
大家知道现在中国是非常流行山寨产品的,例如山寨手机、一机在手、万事不愁、什么MP3,MP4,MP5,夜视镜,钳子,螺丝刀,电筒,打火机,指恰刀,剪刀,耳屎瓢瓢…..应有尽有,要多牛有多牛。来到苏宁电器,由美女售货员的强烈推荐下,致标迷迷糊糊的买了一个山寨电表。
山寨产品的功能是强大的、质量是抓的,致标在美女售货员那购买的山寨电表,才买回去就出了问题。这个山寨电表每当到3 的时候!本来应该进到4的但是就会直接跳到5,是不是很诡异!
例如:
15339 + 1 直接跳到15350 (注意不是 15340)
当然这个BUG让致标非常头痛,因为关乎到多交钱的事情!所以致标每次都要计算一个真实的电费值。
现在有若干个数字,请你帮助致标求出它真实的值。
致标给大家模拟一个数据:
A = 15
顺序是这样 :
1 , 2 , 3, 5 , 6 , 7, 8 ,9 ,10 ,11 ,12 ,13 ,15
数一数一共13个,所以A对应的真实值 B = 13;
本来用了13单位的,但是嘻哈的山寨电表却跳到了15。
输入数据 :
每组数据 若干行、每行一个正整数 a (1<= a<=999999999)
最有一行一个0 , 表示数据结束。
(大家放心、数据中是不会出现 ’ 4 ’的)。
输出数据 :
若干行,每行两个数a: b , a为输入的a,b是a对应的真实值(见样例)


Electric.in
13
15
2003
2005
999999
0
Electric.out
13: 12
15: 13
2003: 1461
2005: 1462
999999: 531440


数据范围:(我本来是打算直攻计算机极限运算、由于考虑到评测机的问题,数据不大,但是请大家尽量优化自己的程序)
对于 30% a的个数 <= 3000
对于 50% a的个数 <= 10000
对于 100% a 的个数 <= 500000