9456 - 珠算(abacus)

通过次数

91

提交次数

259

时间限制 : 1 秒
内存限制 : 512 MB

算盘是一种手动操作计算辅助工具形式。它起源于中国,是中国古代的一项重要发明。在阿拉伯数字出现前,算盘是世界广为使用的计算工具。
一般的算盘多为木制(或塑料制品),矩形木框内排列一串串等数目的算珠称为档,中有一道横梁把珠分隔为上下两部分,上半部每算珠代表5,下半部每算珠代表1,当需要进行计算或者计数时就把下珠往上拨,把上珠往下拨。每串珠从右至左代表了十进位的个、十、百、千、万位数

求从初始状态拨动珠子到指定数值,需要的最少波动珠数。

输入

输入的第一行包含一个正整数,表示输入的数值的个数。
接下来行,每行一个正整数,表示需要表示的数值大小。

输出

输出包含n行,每行仅一个数字,表示每个数值对应需要拨动的珠子数量。

样例

输入

2
2
257

输出

2
6

输入

12
1
9
29
4236
861
864
9945
345
4065
892
627
870

输出

1
5
7
11
7
10
15
8
7
11
7
7

输入

13
82
4527
6741555
2067750104
255000000
2004000404
125400000
49017271711
896111279424
304555
113722
2387220
247400

输出

6
10
13
16
4
14
8
24
34
10
12
16
13

提示

当需要表示数值2时,需要把最右边的柱子的下珠往上拨2个。

当需要表示数值257时,需要把从右往左数第一根柱子,对应个位,需要拨动3次一次上珠,两次下珠;第二根柱子对应十位,需要拨动1次上珠;第三根柱子对应百位,需要拨动2次下珠,共计拨动6次。

对于所有测试数据有:1≤n≤100,1≤a<10^{18}

来源

云南编程挑战赛