Mnożenie cyfr

시간 제한6초메모리 제한2048 MB

요약
각 n에 대해 1부터 n까지의 시작값 x가 숫자 곱셈 놀이를 끝냈을 때 각 자리 0부터 9에 몇 번 도달하는지 센다.
난이도

보통10점 중 6점

유형
수학, 구현, 그리디, 배열
정답자
아직 제출이 없습니다

문제

Bajtosia niedawno nauczyła się mnożyć i bardzo jej się to mnożenie spodobało.

Wymyśliła następującą zabawę w mnożenie cyfr. Zaczyna, pisząc na tablicy pewną dodatnią liczbę całkowitą xx. Następnie mnoży przez siebie cyfry tej liczby (w systemie dziesiętnym), a otrzymanym wynikiem zastępuje starą wartość xx. Ten krok powtarza w kółko, aż xx ustabilizuje się jako liczba jednocyfrowa. Pojedyncza zabawa w mnożenie kończy się wtedy tą liczbą. Da się udowodnić, że zabawa zawsze się zakończy, niezależnie od początkowej wartości xx.

Przykładowo, zabawa może zacząć się z x=57x = 57. Po pierwszym kroku Bajtosia przechodzi do liczby 5⋅7=355 \cdot 7 = 35. W następnym przechodzi do liczby 3⋅5=153 \cdot 5 = 15, a w ostatnim kroku przechodzi do liczby 1⋅5=51 \cdot 5 = 5. Liczba ta jest jednocyfrowa, więc zabawa się kończy na cyfrze 55.

Natomiast gdyby początkową liczbą było x=255x = 255, to w jednym kroku Bajtosia otrzymałaby liczbę 2⋅5⋅5=502 \cdot 5 \cdot 5 = 50, a już w drugim liczbę 5⋅0=05 \cdot 0 = 0. Zabawa skończyłaby się na cyfrze 00.

Po powrocie z przedszkola Bajtosia rozpoczyna zabawy w mnożenie i robi to zawsze zaczynając z kolejnych wartości:

  • Pierwszą zabawę zaczyna z x=1x = 1 i od razu kończy na cyfrze 11.
  • Drugą zabawę zaczyna z x=2x = 2 i od razu kończy na cyfrze 22.
  •  …\dots 
  • Dziesiątą zabawę zaczyna z x=10x = 10 i kończy na cyfrze 00.
  • Jedenastą zabawę zaczyna z x=11x = 11 i kończy na cyfrze 11.
  •  …\dots 
  • Pięćdziesiątą szóstą zabawę zaczyna z x=56x = 56 i kończy na cyfrze 00.
  • Pięćdziesiątą siódmą zabawę zaczyna z x=57x = 57 i kończy na cyfrze 55.
  •  …\dots 

Przez kolejne tt dni Bajtosia po powrocie z przedszkola rozpoczynała taki ciąg zabaw w mnożenie cyfr i każdego dnia zabawy się jej w końcu nudziły, dokładniej ii-tego dnia Bajtosia wykonała n_in\_i zabaw w mnożenie – ostatnią z nich zaczynając z wartości x=n_ix = n\_i.

Dla każdego dnia, mając dane n_in\_i, wyznacz dla każdej cyfry od 00 do 99, ile zabaw w mnożenie cyfr skończyło się na tej cyfrze.

입력

Pierwszy wiersz zawiera liczbę całkowitą tt (1≤t≤10001 ≤ t ≤ 1000), oznaczającą liczbę dni, w których Bajtosia bawiła się w mnożenia cyfr.

Drugi wiersz zawiera ciąg tt liczb całkowitych n_1,n_2,…,n_tn\_1, n\_2, \dots , n\_t (1≤n_i≤10181 ≤ n\_i ≤ 10^{18}), oznaczających ile zabaw w mnożenie Bajtosia wykonała w kolejne dni.

출력

Na wyjście należy wypisać tt wierszy, każdy z nich powinien zawierać 1010 liczb całkowitych, oznaczających kolejno ile zabaw w mnożenie odpowiedniego dnia zakończyło się na cyfrach 0,1,…,90, 1, \dots , 9.

예제1

  1. 예제 1

    입력
    5
    10 56 57 123 1
    
    예상 출력
    1 1 1 1 1 1 1 1 1 1
    11 2 7 3 6 5 8 2 9 3
    11 2 7 3 6 6 8 2 9 3
    36 3 11 4 12 8 16 4 24 5
    0 1 0 0 0 0 0 0 0 0