#999. D - 纸币(Banknote)

D - 纸币(Banknote)

题目描述

AtCoder 王国流通面额为

1,10,102,,101001,10,10^2,\ldots,10^{100}

日元的纸币,每种纸币都有无限张。

Alice 要支付恰好 NN 日元。她可以先向店员交付总额不少于 NN 日元的纸币,店员再用上述纸币找零。

请最小化 Alice 交出的纸币张数与店员找回的纸币张数之和。

更形式化地,对于整数 MNM\ge N,设用上述纸币凑出 MM 日元所需的最少张数为 f(M)f(M),则需要求

minMN(f(M)+f(MN)).\min_{M\ge N}\bigl(f(M)+f(M-N)\bigr).

共有 TT 组测试数据,请分别求解。

限制条件

  • 1T1041\le T\le 10^4
  • 1N10181\le N\le 10^{18}
  • 所有输入均为整数。

输入

T
N_1
N_2
...
N_T

输出

输出 TT 行,第 ii 行输出第 ii 组测试数据的答案。

样例输入 1

3
7
34
123456789123456789

样例输出 1

4
7
44

对于第一组测试数据,可以交出一张 1010 日元纸币,再收回三张 11 日元纸币,共使用 44 张纸币。