#include <iostream>
using namespace std;
int nonzero(int number) //функция,которая считает количество цифр,не равных нулю,кроме последней
{
int count = 0;
number /= 10;
while (number != 0) {
if (number % 10 != 0) count++;
number /= 10;
}
return count;
}
int summa(int number) //функция,которая возвращает сумму цифр числа
{
int sum = 0;
while (number != 0) {
sum += number % 10;
number /= 10;
}
return sum;
}
bool edinica(int number) //функция,которая проверяет есть ли среди цифр числа,кроме последней, единица
{
number /= 10;
bool ok = false;
while (number != 0) {
if (number % 10 == 1) ok = true;
number /= 10;
}
return ok;
}
int kol_vo(int number) //функция,вычисляющая кол-во цифр числа
{
int count = 0;
while (number != 0) {
count++;
number /= 10;
}
return count;
}
int formula(int number) //формула,по которой можно дойти от 1 до 10^(a-1),где a- кол-во цифр числа
{
int a = kol_vo(number);
return (5 * a - 1) * (a - 1);
}
int main() {
//инииализируем переменную t и считываем ее с клавиатуры
int t;
cin >> t;
//инициализируем переменную ni и задаем цикл,который будет работать пока мы вводим значения ni и t>0
int ni;
while (cin >> ni and t > 0) {
//кладем в переменную kol_vo1 значение функции kol_vo от значения ni
int kol_vo1 = kol_vo(ni);
//появляется необходимость создать переменную,которая будет равна значению ni,так как с этим значением
//в дальнейшем будут проводится операции,а в конце программы нам нужно будет обратиться к исходному значению ni
int a = ni;
//задаем массив,размерность которого равна кол-ву цифр числа
int b[kol_vo1];
for (int i = 0; i < kol_vo1; i++) {
b[i] = a % 10;
a /= 10;
}
//далее производим проверку условия №2,которое описано в решении. Если число проходит условие,то
//выводим соответствующую формулу,указанную в условии №2
bool ok = false;
for (int i = 0; i < kol_vo1 - 1; i++) {
if (b[i] == 0) ok = true;
else {
ok = false;
break;
}
}
if (b[kol_vo1 - 1] > 1 and ok == true) {
cout << summa(--ni) + nonzero(--ni) - edinica(--ni) + formula(ni) << endl;
}
//далее производим проверку условия №1,которое описано в решении. Если число проходит условие,то
//выводим соответствующую формулу,указанную в условии №1
bool ok2 = false;
for (int i = 0; i < kol_vo1 - 1; i++) {
if (b[i] != 0) ok2 = true;
}
if (ok2 == true) cout << summa(ni) + nonzero(ni) - edinica(ni) - 1 + formula(ni) << endl;
//остались крайние случаи,когда число однозначное или кратное 10^n.Проверяем число на эти условия
//и если оно является таковым,выводим соответствующие значения
if (kol_vo1 == 1) cout << ni - 1 << endl;
if (ni == 10 or ni == 100 or ni == 1000 or ni == 10000 or ni == 100000 or ni == 1000000 or ni == 10000000 or ni == 100000000 or ni == 1000000000) cout << formula(ni) << endl;
//декрементируем переменную t
t--;
}
}