1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
#include <cstdio>
#include <cmath>
#include <iostream>
#include <algorithm>
#include <queue>
#include <list>
#include <vector>
#include <map>
#include <unordered_map>
#include <unordered_set>
#include <set>
#include <bitset>
#include <stack>
#include <string>
#include <cstring>
#include <cassert>
#include <limits.h>

using namespace std;

typedef unsigned long long LL;
typedef long double LD;

typedef vector<int> VI;
#define REP(i,n) for(int i=0;i<(n);i++)
#define FOR(i,a,b) for(VAR(i,a);i<=(b);++i)
#define FORD(i,a,b) for(VAR(i,a);i>=(b);--i)
#define FORE(a,b) for(VAR(a,(b).begin());a!=(b).end();++a)
#define VAR(a,b) __typeof(b) a=(b)
#define SIZE(a) ((int)((a).size()))
#define ALL(x) (x).begin(),(x).end()
#define CLR(x,a) memset(x,a,sizeof(x))
#define ZERO(x) memset(x,0,sizeof(x))
#define S(t,i) scanf("%" ## t, &i)
#define SI(i) scanf("%d", &i)

const int precomputed=999;
int cyfry[22];
int cyfry_tmp[22];
LL c[10], wyniki[10];
LL mapping[precomputed+111];

const int max_precomputed_results=19;
LL precomputed_results[max_precomputed_results][9] = {{1,1,1,1,1,1,1,1,1},
    {1,8,2,9,6,13,2,22,3},
    {1,68,3,55,33,141,3,138,6},
    {1,466,4,214,132,1017,4,889,10},
    {1,2670,5,615,435,5671,5,4921,15},
    {1,13460,6,1451,1466,36695,6,26687,21},
    {1,69420,7,3829,5341,274919,7,154539,28},
    {1,417722,8,60180,18656,1905346,8,870270,36},
    {1,3025242,9,939045,58029,11961897,9,4437621,45},
    {1,21873040,10,8732485,159430,70484777,10,20367762,55},
    {1,136901413,11,56961531,392601,393138130,11,86589471,66},
    {1,722201372,12,289887214,882036,2099243511,12,388661761,78},
    {1,3271729383,13,1229099287,1836159,11182203514,13,2366418106,91},
    {1,13114173697,14,4756606869,3586506,61491912211,14,18602433227,105},
    {1,48104723380,15,24218431805,6638885,342906589613,15,142978182070,120},
    {1,167526488628,16,233925901576,11738656,1849155959180,16,952075901928,136},
    {1,574289772576,17,2661527233449,19952441,9348828582989,17,5434361620523,153},
    {1,1988721563904,18,25685325408201,32768742,44293571012946,18,27064481351856,171}};

const int max_memorized_results=18*1000*10*2*10;
LL memorized_results[max_memorized_results][10];
unordered_map<LL,LL*> memorized_results_map;
LL hash_memorized_result(int length, LL prefix) {
    return (length+prefix*19);
}
unordered_map<LL,LL*> memorized_results_map1;
LL hash_memorized_result1(int length, LL prefix) {
    return (length+prefix*19);
}

int memorized_results_count=0;
LL *getNewMemorizedResult(){
    //assert(memorized_results_count<max_memorized_results-10);
    return memorized_results[memorized_results_count++];
}

LL to_memorize[11][10]={
    // {0,0,0,0,0,105,0,0,0,0,320LL},
    // {0,0,0,0,0,1092,0,0,0,0,358LL},
    // {0,0,0,0,0,1274,0,0,0,0,130LL},
    // {0,0,0,0,0,1274,0,0,0,0,73LL},
    // {0,0,0,0,0,1275,0,0,0,0,187LL},
    // {0,0,0,0,0,1365,0,0,0,0,36LL},
    // {0,0,0,0,0,14,0,0,0,0,244LL},
    // {0,0,0,0,0,14,0,0,0,0,301LL},
    // {0,0,0,0,0,143627,0,0,0,0,358LL},
    // {0,0,0,0,0,1514113,0,0,0,0,168LL},
    // {0,0,0,0,0,160735,0,0,0,0,415LL},
    // {0,0,0,0,0,182,0,0,0,0,472LL},
    // {0,0,0,0,0,21308,0,0,0,0,529LL},
    // {0,0,0,0,0,214756,0,0,0,0,55LL},
    // {0,0,0,0,0,2330531,0,0,0,0,111LL},
    // {0,0,0,0,0,246046,0,0,0,0,74LL},
    // {0,0,0,0,0,2,8,8,6,0,2409LL},
    // {0,0,0,0,0,28953,0,0,0,0,93LL},
    // {0,0,0,0,0,312321,0,0,0,0,320LL},
    // {0,0,0,0,0,35322,0,0,0,0,92LL},
    // {0,0,0,0,0,365793,0,0,0,0,472LL},
    // {0,0,0,0,0,37338,0,0,0,0,168LL},
    // {0,0,0,0,0,4368,0,0,0,0,244LL},
    // {0,0,0,0,0,45285,0,0,0,0,112LL},
    // {0,0,0,0,0,49365,0,0,0,0,131LL},
    // {0,0,0,0,0,53475,0,0,0,0,150LL},
    // {0,0,0,0,0,546,0,0,0,0,320LL},
    // {0,0,0,0,0,560,0,0,0,0,472LL},
    // {0,0,0,0,0,581337,0,0,0,0,548LL},
    // {0,0,0,0,0,6,0,6,8,0,927LL},
    // {0,0,0,0,0,63552,0,0,0,0,624LL},
    // {0,0,0,0,0,665,0,0,0,0,169LL},
    // {0,0,0,0,0,680,0,0,0,0,188LL},
    // {0,0,0,0,0,7190,0,0,0,0,624LL},
    // {0,0,0,0,0,7204,0,0,0,0,700LL},
    // {0,0,0,0,0,7295,0,0,0,0,111LL},
    // {0,0,0,0,0,92,0,0,0,0,301LL},
    // {0,0,0,0,0,954551,0,0,0,0,35LL},
    // {0,0,0,0,0,9571,0,0,0,0,54LL},
    // {0,0,0,0,0,9661,0,0,0,0,73LL},
    // {0,0,0,0,0,9676,0,0,0,0,92LL},
    // {0,0,0,2,4,6,8,0,2,4,813LL},
    // {0,0,0,4,6,8,0,0,6,4,2808LL},
    // {0,0,0,5,0,0,0,5,0,0,4632LL},
    // {0,0,0,5,0,0,0,5,0,0,547LL},
    // {0,0,0,5,0,0,0,5,0,8,1839LL},
    // {0,0,0,5,0,5,0,0,0,5,3606LL},
    // {0,0,0,8,6,8,6,0,6,0,319LL},
    // {0,0,0,9,8,4,8,0,0,8,927LL},
    // {0,0,10025850345LL,0,107573466000LL,0,105152224951LL,0,102312764642LL,0,1384LL},
    // {0,0,1038627513,0,3745595854LL,0,16395960702LL,0,16283287930LL,0,319LL},
    // {0,0,1072765876,0,19487656188LL,0,17523066134LL,0,2981511533LL,0,946LL},
    // {0,0,107723197271LL,0,331483705352LL,0,1393872382200LL,0,886249374736LL,0,491LL},
    // {0,0,1099128215LL,0,1,0,52268837413LL,0,43365901305LL,0,91LL},
    // {0,0,11087644490LL,0,30658069785LL,0,193542768631LL,0,93158098688LL,0,1042LL},
    // {0,0,111172334,0,0,0,4612505171LL,0,5294014726LL,0,1041LL},
    // {0,0,11147593903LL,0,80263703520LL,0,127795276816LL,0,118295477534LL,0,1232LL},
    // {0,0,1129765,0,5206452342LL,0,1412089604LL,0,501026344,0,547LL},
    // {0,0,1138473182LL,0,2537162733LL,0,28095365585LL,0,8839343164LL,0,547LL},
    // {0,0,116064130,0,5819868054LL,0,6692950488LL,0,6908957510LL,0,1212LL},
    // {0,0,11763752,0,2998607612LL,0,4031638534LL,0,1427258560LL,0,471LL},
    // {0,0,118324717262LL,0,3289671369520LL,0,4145913647648LL,0,2342037756314LL,0,54LL},
    // {0,0,1186364557LL,0,0,7112,14440580560LL,0,20727156192LL,0,699LL},
    // {0,0,1186764661LL,0,49811541780LL,0,59438771413LL,0,54101273360LL,0,72LL},
    // {0,0,1237209806LL,0,2043871207LL,0,23198257033LL,0,14701927514LL,0,1383LL},
    // {0,0,1254344,0,1680901313LL,0,2357188785LL,0,321884836,0,167LL},
    // {0,0,126214466,0,1268735833LL,14196,18502626767LL,0,3548025392LL,0,357LL},
    // {0,0,1282660150LL,0,19031037496LL,106940,141467007195LL,0,21274566818LL,0,167LL},
    // {0,0,1304734511LL,0,5335259944LL,0,20886601778LL,0,14372392413LL,0,927LL},
    // {0,0,131682930,0,13853741265LL,0,46909135245LL,0,10098305925LL,0,300LL},
    // {0,0,1363964070LL,0,22817033330LL,0,16524482989LL,0,4297907719LL,0,148LL},
    // {0,0,139357195,0,52253777940LL,0,18949013045LL,0,9599445328LL,0,281LL},
    // {0,0,14399662504LL,0,270034311040LL,0,524925949893LL,0,436715374052LL,0,149LL},
    // {0,0,14607152,0,879092032,2184,12648043408LL,0,930083441,0,471LL},
    // {0,0,146291082,0,3898020126LL,0,13884758446LL,0,3488826098LL,0,1041LL},
    // {0,0,15395835,0,25213519695LL,0,18701423345LL,0,2865834401LL,0,243LL},
    // {0,0,1558739,0,0,182,3736765942LL,0,573981149,0,547LL},
    // {0,0,15803521564LL,0,234139390192LL,795680,925632437780LL,0,263843480296LL,1,814LL},
    // {0,0,1595144895LL,0,14633711835LL,101130,115161220472LL,0,40921531516LL,0,72LL},
    // {0,0,160145819015LL,0,1426962514565LL,3993521,5009166641964LL,1,3501256072435LL,0,92LL},
    // {0,0,1626564212LL,0,24430916510LL,0,15586060868LL,0,6414394441LL,0,699LL},
    // {0,0,1659556056LL,0,221659860240LL,0,381334605556LL,0,73851220214LL,0,814LL},
    // {0,0,16743673425LL,0,151142490056LL,657120,735823586056LL,0,401141449922LL,0,681LL},
    // {0,0,16912896,0,0,0,2511423278LL,0,1823254083LL,0,1079LL},
    // {0,0,1749763,0,1501227728LL,0,5636991752LL,0,145276742,0,243LL},
    // {0,0,1826050499LL,0,23953831902LL,0,15052278878LL,0,9134191339LL,0,129LL},
    // {0,0,18281639152LL,0,606793867696LL,0,432142761172LL,0,355336465453LL,0,472LL},
    // {0,0,18366321393LL,1,21015375585LL,2023260,261504612384LL,0,97469338311LL,15,700LL},
    // {0,0,1840486,0,2106653640LL,0,31239815463LL,0,83059158,0,623LL},
    // {0,0,192023780,0,13186380480LL,16380,95900244577LL,0,5832283109LL,0,357LL},
    // {0,0,19244786,0,10870580812LL,0,7276065888LL,0,3418781730LL,0,1554LL},
    // {0,0,1941948386LL,0,21514474982LL,0,15161948659LL,0,12160766982LL,0,870LL},
    // {0,0,19617689,0,0,0,3598995323LL,0,1152432827LL,0,813LL},
    // {0,0,1963761996LL,0,1683101448LL,325780,37753002938LL,0,9151615165LL,1,281LL},
    // {0,0,19811642068LL,0,38273670076LL,0,208454487722LL,0,139549700370LL,0,187LL},
    // {0,0,19880875,0,2868665800LL,0,9250007118LL,0,968677830,0,281LL},
    // {0,0,19918470,0,6552147420LL,1365,58631848405LL,0,935534590,0,319LL},
    // {0,0,2004923011LL,0,13345506174LL,0,18017525047LL,0,17737383861LL,0,300LL},
    // {0,0,2039511462LL,0,2551577886LL,0,22308377407LL,0,19946119557LL,0,813LL},
    // {0,0,204355515,0,0,7280,12091607571LL,0,7299163809LL,0,1383LL},
    // {0,0,2083627106LL,0,3488208920LL,0,28249966773LL,0,14780633259LL,0,813LL},
    // {0,0,210110802,0,44979114180LL,0,33391259688LL,0,12148761555LL,0,243LL},
    // {0,0,211536083,0,64365161445LL,0,42229268806LL,0,25895132915LL,0,148LL},
    // {0,0,2128783930LL,0,9279616346LL,0,21129597714LL,0,19678305038LL,0,490LL},
    // {0,0,2130310,0,6351120048LL,0,1582015267LL,0,1370154968LL,0,243LL},
    // {0,0,223860014,0,7171564400LL,0,9527764771LL,0,9483991531LL,0,623LL},
    // {0,0,224435,0,64030148,0,4296907993LL,0,11177166,0,1079LL},
    // {0,0,2249591177LL,0,1401024457LL,283556,31933827422LL,0,16831322263LL,0,927LL},
    // {0,0,2302451415LL,0,15,49140,81606584416LL,0,65293383910LL,0,547LL},
    // {0,0,23273068,0,10629064628LL,0,1578907463LL,0,1239216993LL,0,243LL},
    // {0,0,236438712690LL,0,5518031810925LL,0,3833552629569LL,0,3169118025665LL,0,187LL},
    // {0,0,23986901781LL,0,479845606496LL,0,631279381712LL,0,429104142628LL,0,358LL},
    // {0,0,24662638,0,5074263194LL,0,3669629548LL,0,2986039238LL,0,167LL},
    // {0,0,253162,0,2071277208LL,0,1458022804LL,0,93187640,0,927LL},
    // {0,0,263699501,0,8732579856LL,0,8602265246LL,0,6786957634LL,0,680LL},
    // {0,0,2665351253LL,0,39424029645LL,0,80541662695LL,0,75103072478LL,0,34LL},
    // {0,0,26990783,0,10091581500LL,0,1843627942LL,0,1602221609LL,0,53LL},
    // {0,0,2730,0,140443576,0,4144699559LL,0,2730,0,813LL},
    // {0,0,274584506,0,0,0,6886562151LL,0,9211974542LL,0,623LL},
    // {0,0,277014857,0,2553157698LL,0,20785028460LL,0,3934102487LL,0,699LL},
    // {0,0,2806760684LL,0,210,142324,29197525685LL,0,27031098746LL,0,91LL},
    // {0,0,281240730,0,10969059466LL,19110,77276328785LL,0,14026186520LL,0,167LL},
    // {0,0,282718632,0,4347858515LL,0,10439610770LL,0,9332035727LL,0,870LL},
    // {0,0,287637011553LL,0,4590583290265LL,0,4970554559287LL,0,3925292970721LL,0,168LL},
    // {0,0,29124186,0,0,1274,6933824730LL,0,2502195165LL,0,281LL},
    // {0,0,297325,0,419645408,0,5350780190LL,0,13827996,0,1383LL},
    // {0,0,30163814464LL,0,211174140057LL,0,762828092068LL,0,599481543080LL,0,928LL},
    // {0,0,30615528854LL,0,27720348105LL,0,267931309640LL,0,143337823036LL,0,1080LL},
    // {0,0,3104773220LL,0,0,9570,56112118895LL,0,80568951036LL,0,471LL},
    // {0,0,3118167956LL,0,175504951457LL,153456,618583618907LL,0,91924178462LL,0,947LL},
    // {0,0,3121664,0,1446259178LL,0,4538903761LL,0,481684295,0,699LL},
    // {0,0,31612672,0,0,0,3105989341LL,0,2482619790LL,0,1231LL},
    // {0,0,3257360905LL,0,22248940365LL,0,110256113028LL,0,70468300141LL,0,129LL},
    // {0,0,3274089,0,4582736158LL,0,2801168020LL,0,631259083,0,319LL},
    // {0,0,337974,0,5516355026LL,0,784935452,0,410333287,0,623LL},
    // {0,0,340404064,0,0,1092,7527295505LL,0,10779927433LL,0,1839LL},
    // {0,0,341495973,0,24938283825LL,0,43878904920LL,0,22145041990LL,0,357LL},
    // {0,0,3467777861LL,0,2569780759LL,0,37225384302LL,0,14719738362LL,0,243LL},
    // {0,0,3566556644LL,0,4129671651LL,0,31435810812LL,0,21058407399LL,0,680LL},
    // {0,0,35679377951LL,0,355983047880LL,0,927930426481LL,0,500523071324LL,0,130LL},
    // {0,0,357058520,0,0,0,4302111177LL,0,8495680284LL,0,927LL},
    // {0,0,364006145,0,36161405280LL,0,57779535390LL,0,15016173980LL,0,129LL},
    // {0,0,3764065024LL,0,119950967152LL,142096,474735871800LL,0,162985124507LL,0,1080LL},
    // {0,0,3823725390LL,0,87298020810LL,0,68162976262LL,0,66130951130LL,0,1555LL},
    // {0,0,38354905,0,21693887670LL,0,35019411131LL,0,3635163511LL,0,186LL},
    // {0,0,386546083,0,6120912799LL,0,13418589940LL,0,7674756299LL,0,1079LL},
    // {0,0,387158434419LL,0,3589960401658LL,0,6781742947852LL,0,4699221073136LL,0,149LL},
    // {0,0,392597812,0,100618321440LL,21840,382799109796LL,0,21836203157LL,0,1213LL},
    // {0,0,4,0,0,2,6,2,0,0,3606LL},
    // {0,0,4137289435LL,0,16,0,95457824370LL,0,88845217848LL,0,414LL},
    // {0,0,4264712632LL,0,472746683137LL,0,234921228604LL,0,145035716442LL,0,415LL},
    // {0,0,4279366,0,3483585196LL,0,2072816879LL,0,961825592,0,699LL},
    // {0,0,4355092,0,1154152272LL,0,9454185209LL,0,199142672,0,129LL},
    // {0,0,43684018,0,10239626397LL,0,7442987293LL,0,4932481009LL,0,186LL},
    // {0,0,44175064060LL,0,2039166442570LL,1187824,4001253338345LL,0,1164438370988LL,1,130LL},
    // {0,0,44731235124LL,0,938956789680LL,0,543556341401LL,0,460628092016LL,0,871LL},
    // {0,0,451178014,0,1,0,13556423274LL,0,11550987644LL,0,319LL},
    // {0,0,476289450,0,0,9555,45217068051LL,0,26497948578LL,0,699LL},
    // {0,0,4776600135LL,0,65217877740LL,0,96750138740LL,0,76973149112LL,0,871LL},
    // {0,0,494389325,0,5350913568LL,0,12187121730LL,0,12658248890LL,0,471LL},
    // {0,0,505504394,0,58684799355LL,0,47619727678LL,0,37845352056LL,0,91LL},
    // {0,0,510780949,0,1576138761LL,72450,29094158380LL,0,4378405514LL,0,528LL},
    // {0,0,528225672,0,20725018496LL,0,9151906323LL,0,3289434344LL,0,1231LL},
    // {0,0,53984021,0,0,0,5051874660LL,0,2640238069LL,0,927LL},
    // {0,0,57128708096LL,0,630784474456LL,0,789834040308LL,0,689769385869LL,0,681LL},
    // {0,0,57668744012LL,1,250479263736LL,3332376,1325951950092LL,0,564224427636LL,16,244LL},
    // {0,0,58643574930LL,0,156560419056LL,2571616,1094162376972LL,1,781304162556LL,0,1042LL},
    // {0,0,601533817,0,0,0,10140460971LL,0,14484216152LL,0,471LL},
    // {0,0,6,0,8,4,0,0,0,0,2010LL},
    // {0,0,619472035,0,21779874116LL,0,8156759975LL,0,4653047231LL,0,167LL},
    // {0,0,621176283,0,3042975936LL,0,15963489116LL,0,12046646248LL,0,357LL},
    // {0,0,63008232,0,1809389764LL,0,12152494733LL,0,2767635794LL,0,167LL},
    // {0,0,6364922911LL,0,15654953280LL,438375,161887883932LL,0,88680646935LL,0,167LL},
    // {0,0,6403564386LL,0,324590106516LL,0,370818492472LL,0,304727914804LL,0,282LL},
    // {0,0,645571500,0,37924616730LL,0,44752844201LL,0,37902982860LL,0,91LL},
    // {0,0,648373649,0,4010740748LL,0,19972852018LL,0,8365926402LL,0,1212LL},
    // {0,0,66029964,0,4075803732LL,0,6518387603LL,0,4230982938LL,0,129LL},
    // {0,0,679741673,0,27140846460LL,0,93727739865LL,0,18078619865LL,0,53LL},
    // {0,0,6,8,0,0,0,0,0,0,3093LL},
    // {0,0,68510442,0,0,91,3312084608LL,0,4414692205LL,0,2067LL},
    // {0,0,685857536,0,21072827776LL,0,7519701735LL,0,6404559616LL,0,414LL},
    // {0,0,6907309210LL,0,45644639265LL,0,138570753455LL,0,86221068105LL,0,1213LL},
    // {0,0,7046495,0,1165664045LL,0,7928670113LL,0,687963472,0,471LL},
    // {0,0,723252621,0,18774297542LL,0,7561331337LL,0,8354046610LL,0,1041LL},
    // {0,0,729494235,0,95266800720LL,0,21268982733LL,0,17711593048LL,0,186LL},
    // {0,0,743552369,0,15397706324LL,0,8627555433LL,0,10298537042LL,0,471LL},
    // {0,0,774477916,0,19720857975LL,0,73639089091LL,0,30920487355LL,0,319LL},
    // {0,0,7836200,0,8092126770LL,0,35148856190LL,0,662698025,0,471LL},
    // {0,0,786126978,0,11628633016LL,0,11065182702LL,0,12047852299LL,0,357LL},
    // {0,0,78788543,0,5535039510LL,0,8581020189LL,0,3016582611LL,0,1383LL},
    // {0,0,790608,0,436809828,182,7755223763LL,0,125714771,0,1611LL},
    // {0,0,7937930,0,5882386601LL,0,2163169659LL,0,2044644070LL,0,319LL},
    // {0,0,8019522192LL,0,193510080416LL,0,472064344100LL,0,293986961441LL,0,548LL},
    // {0,0,806563695,0,0,0,42214050055LL,0,32556045670LL,0,528LL},
    // {0,0,8166264255LL,0,240,213150,136802051205LL,0,127251647861LL,0,243LL},
    // {0,0,819064965,0,88235799015LL,0,24965732996LL,0,23006008980LL,0,110LL},
    // {0,0,8245999350LL,0,163058712180LL,0,89000492753LL,0,49208430600LL,0,1384LL},
    // {0,0,8453081,0,3758610856LL,0,5320570815LL,0,788792707,0,357LL},
    // {0,0,8,6,0,6,0,8,4,0,2580LL},
    // {0,0,8606104340LL,0,3668907088LL,0,48528107058LL,0,19555171482LL,0,110LL},
    // {0,0,882985819,0,14,35126,19619676469LL,0,15824321373LL,0,243LL},
    // {0,0,88466206,0,17484960675LL,0,60409655002LL,0,4612052025LL,0,129LL},
    // {0,0,89500439,0,1338776712LL,12012,21453250599LL,0,1440018611LL,0,91LL},
    // {0,0,9010286040LL,0,153594395955LL,0,87914709811LL,0,66182228400LL,0,529LL},
    // {0,0,9270006488LL,0,315533727736LL,0,605214503092LL,0,222658246353LL,0,700LL},
    // {0,0,9515217105LL,0,133686382830LL,0,92556458175LL,0,84430715387LL,0,358LL},
    // {0,0,958738395,0,76113947910LL,0,35849678769LL,0,29064132220LL,0,53LL},
    // {0,0,98970769,0,8912425522LL,0,8080926337LL,0,6918626274LL,0,1079LL},
    // {0,1,1,1,1,1,1,1,1,1,1041LL},
    // {0,1,2,6,24,120,720,5040,40320,362880,2067LL},
    // {0,13060694016LL,78364164096LL,470184984576LL,2821109907456LL,16926659444736LL,1,7,49,343,927LL},
    // {0,1,48104723380LL,15,24218431805LL,6638885,342906589613LL,15,142978182070LL,120,928LL},
    // {0,1,574289772576LL,17,2661527233449LL,19952441,9348828582989LL,17,5434361620523LL,153,130LL},
    // {0,2,0,4,0,8,0,5,2,4,3207LL},
    // {0,2,0,4,0,8,0,5,2,4,471LL},
    // {0,2187,6561,19683,59049,177147,531441,1594323,4782969,14348907,1554LL},
    // {0,2,4,8,16,32,64,128,256,512,1212LL},
    // {0,2,6,0,8,0,0,8,0,0,1383LL},
    // {0,2,6,0,8,6,6,8,0,8,4119LL},
    // {0,2,6,5,8,8,0,8,0,4,319LL},
    // {0,2,6,5,8,8,0,8,0,8,3093LL},
    // {0,2,8,4,0,4,8,2,6,0,2067LL},
    // {0,2,8,4,0,6,2,8,8,0,471LL},
    // {0,2,8,8,6,0,4,6,0,0,1383LL},
    // {0,3,4,5,6,7,8,9,0,2,1383LL},
    // {0,4,0,0,6,6,8,2,0,6,623LL},
    // {0,4,0,6,0,6,0,6,8,0,91LL},
    // {0,4,0,9,8,4,8,0,0,8,699LL},
    // {0,4782969,43046721,387420489,3486784401LL,31381059609LL,282429536481LL,2541865828329LL,22876792454961LL,205891132094649LL,1839LL},
    // {0,4,8,2,6,0,8,6,6,8,1212LL},
    // {0,5,0,0,0,5,0,0,0,0,927LL},
    // {0,5,0,0,0,5,0,0,0,6,2580LL},
    // {0,549755813888LL,4398046511104LL,35184372088832LL,281474976710656LL,2251799813685248LL,1,9,81,729,1611LL},
    // {0,5,6,7,8,9,0,1,2,3,1440LL},
    // {0,6,0,0,0,0,0,0,0,0,1041LL},
    // {0,6,0,0,0,0,0,0,0,0,167LL},
    // {0,6,0,0,0,4,6,2,6,0,1383LL},
    // {0,6,0,0,0,6,6,6,8,0,528LL},
    // {0,6,0,0,4,8,0,6,0,0,699LL},
    // {0,6,2,0,6,0,6,0,0,6,2067LL},
    // {0,6,2,8,8,0,8,8,6,0,2751LL},
    // {0,6,36,216,1296,7776,46656,279936,1679616,10077696,699LL},
    // {0,6,6,4,0,6,0,6,2,0,471LL},
    // {0,6,6,4,0,8,6,4,0,0,2751LL},
    // {0,6,6,6,8,0,0,2,6,6,3207LL},
    // {0,6,6,6,8,0,0,2,6,6,471LL},
    // {0,67108864,268435456,1073741824,4294967296LL,17179869184LL,1,5,25,125,243LL},
    // {0,78125,390625,1953125,9765625,48828125,244140625,1220703125LL,6103515625LL,30517578125LL,471LL},
    // {0,8,0,0,0,2,2,0,8,6,167LL},
    // {0,8,0,0,2,6,6,0,0,0,1079LL},
    // {0,8,0,3,6,9,2,5,8,2,2010LL},
    // {0,8,0,5,0,5,0,0,0,5,2409LL},
    // {0,8,0,8,0,8,6,8,6,0,357LL},
    // {0,8,0,8,2,8,8,0,8,0,1611LL},
    // {0,8192,16384,32768,65536,131072,1,3,9,27,1383LL},
    // {0,8,4,0,6,0,2,0,6,8,699LL},
    // {0,8,4,8,0,0,0,0,0,0,414LL},
    // {0,8,4,8,0,8,8,0,4,0,243LL},
    // {0,8,6,2,6,0,0,4,0,6,623LL},
    // {0,8,6,4,0,0,6,6,8,2,1554LL},
    // {0,8,64,512,4096,32768,262144,2097152,16777216,134217728,1383LL},
    // {0,8,6,8,0,0,0,6,0,0,1231LL},
    // {0,8,8,0,8,8,6,0,0,8,1611LL}
};

//LL p1[10][18];
LL p[][18]={
    {1LL,0LL,0LL,0LL,0LL,0LL,0LL,0LL,0LL,0LL,0LL,0LL,0LL,0LL,0LL,0LL,0LL,0LL},
    {1LL,1LL,1LL,1LL,1LL,1LL,1LL,1LL,1LL,1LL,1LL,1LL,1LL,1LL,1LL,1LL,1LL,1LL},
    {1LL,2LL,4LL,8LL,16LL,32LL,64LL,128LL,256LL,512LL,1024LL,2048LL,4096LL,8192LL,16384LL,32768LL,65536LL,131072LL},
    {1LL,3LL,9LL,27LL,81LL,243LL,729LL,2187LL,6561LL,19683LL,59049LL,177147LL,531441LL,1594323LL,4782969LL,14348907LL,43046721LL,129140163LL},
    {1LL,4LL,16LL,64LL,256LL,1024LL,4096LL,16384LL,65536LL,262144LL,1048576LL,4194304LL,16777216LL,67108864LL,268435456LL,1073741824LL,4294967296LL,17179869184LL},
    {1LL,5LL,25LL,125LL,625LL,3125LL,15625LL,78125LL,390625LL,1953125LL,9765625LL,48828125LL,244140625LL,1220703125LL,6103515625LL,30517578125LL,152587890625LL,762939453125LL},
    {1LL,6LL,36LL,216LL,1296LL,7776LL,46656LL,279936LL,1679616LL,10077696LL,60466176LL,362797056LL,2176782336LL,13060694016LL,78364164096LL,470184984576LL,2821109907456LL,16926659444736LL},
    {1LL,7LL,49LL,343LL,2401LL,16807LL,117649LL,823543LL,5764801LL,40353607LL,282475249LL,1977326743LL,13841287201LL,96889010407LL,678223072849LL,4747561509943LL,33232930569601LL,232630513987207LL},
    {1LL,8LL,64LL,512LL,4096LL,32768LL,262144LL,2097152LL,16777216LL,134217728LL,1073741824LL,8589934592LL,68719476736LL,549755813888LL,4398046511104LL,35184372088832LL,281474976710656LL,2251799813685248LL},
    {1LL,9LL,81LL,729LL,6561LL,59049LL,531441LL,4782969LL,43046721LL,387420489LL,3486784401LL,31381059609LL,282429536481LL,2541865828329LL,22876792454961LL,205891132094649LL,1853020188851841LL,16677181699666569LL}
};
LL silnia[]={1,1LL,2LL,6LL,24LL,120LL,720LL,5040LL,40320LL,362880LL,3628800LL,39916800LL,479001600LL,6227020800LL,87178291200LL,1307674368000LL,20922789888000LL,355687428096000LL,6402373705728000LL,121645100408832000LL};

LL liczba_cyfr(LL l) {
    // REP(i,19){
    //     cyfry[i]=0;
    // }
    LL wynik=1;
    while (l>9) {
        cyfry_tmp[wynik-1]=l%10;
        wynik++;
        l=l/10;
    }
    cyfry_tmp[wynik-1]=l;
    FOR(i,0,wynik-1) {
        cyfry[i]=cyfry_tmp[wynik-1-i];
    }
    return wynik;
}

LL mnoz(LL l) {
    LL wynik=1;
    while (l>9) {
        wynik *= l%10;
        l=l/10;
    }
    return wynik*l;
}
unordered_map<LL,int> mapping1;
LL odwzoruj(LL l) {
    unordered_map<LL,int>::iterator it = mapping1.find(l);
    if (it!=mapping1.end()) {
        return it->second;
    }
    if (l <= precomputed) {
        return mapping[l];
    }
    LL l0=l;
    LL wynik=1;
    while (l>9) {
        wynik *= l%10;
        l=l/10;
    }
    wynik*=l;
    wynik = odwzoruj(wynik);
    mapping1[l0]=wynik;
    return wynik;
}

LL odwzoruj1(LL l) {
    if (l <= precomputed) {
        return mapping[l];
    }
    LL wynik=1;
    while (l>9) {
        wynik *= l%10;
        l=l/10;
    }
    wynik*=l;
    return odwzoruj(wynik);
}

void compute2(LL *results, int dlugosc, LL prefix_number=1) {
    if (prefix_number%5==0) {
        FOR(d3, 0, dlugosc){
            int rd3=dlugosc-d3;
            LL l3 = prefix_number*p[3][d3];
            LL wyn3=silnia[dlugosc]/silnia[d3];
            FOR(d7, 0, rd3){
                int rd7=rd3-d7;
                LL l7 = l3*p[7][d7];

                int d9 = rd7;
                LL l9 = l7*p[9][d9];

                LL cyfra = odwzoruj(l9);
                results[cyfra] += wyn3/silnia[d7]/silnia[d9];
            }
        }
    } else {
        FOR(d2, 0, dlugosc){
            int rd2=dlugosc-d2;
            LL l2 = prefix_number*p[2][d2];
            LL wyn2=silnia[dlugosc]/silnia[d2];
            FOR(d3, 0, rd2){
                int rd3=rd2-d3;
                LL l3 = l2*p[3][d3];
                LL wyn3=wyn2/silnia[d3];
                FOR(d4, 0, rd3){
                    int rd4=rd3-d4;
                    LL l4 = l3*p[4][d4];
                    LL wyn4=wyn3/silnia[d4];
                    FOR(d6, 0, rd4){
                        int rd6=rd4-d6;
                        LL l6 = l4*p[6][d6];
                        LL wyn6=wyn4/silnia[d6];
                        FOR(d7, 0, rd6){
                            int rd7=rd6-d7;
                            LL l7 = l6*p[7][d7];
                            LL wyn7=wyn6/silnia[d7];
                            FOR(d8, 0, rd7){
                                int rd8=rd7-d8;
                                LL l8 = l7*p[8][d8];

                                int d9 = rd8;
                                LL l9 = l8*p[9][d9];

                                LL cyfra = odwzoruj(l9);
                                results[cyfra] += wyn7/silnia[d8]/silnia[d9];
                            }
                        }
                    }
                }
            }
        }
    }
}
void compute5(LL *results, int dlugosc, LL prefix_number=1) {
    FOR(d5, 1, dlugosc){
        int rd5=dlugosc-d5;
        LL l5 = prefix_number*p[5][d5];
        LL wyn5=silnia[dlugosc]/silnia[d5];
        FOR(d3, 0, rd5){
            int rd3=rd5-d3;
            LL l3 = l5*p[3][d3];
            LL wyn3=wyn5/silnia[d3];
            FOR(d7, 0, rd3){
                int rd7=rd3-d7;
                LL l7 = l3*p[7][d7];

                int d9 = rd7;
                LL l9 = l7*p[9][d9];

                LL cyfra = odwzoruj(l9);
                results[cyfra] += wyn3/silnia[d7]/silnia[d9];
            }
        }
    }
}
void compute(LL *results, int dlugosc, LL prefix_number=1) {
    compute2(results, dlugosc, prefix_number);
    compute5(results, dlugosc, prefix_number);
}

LL* computeAndMemorizeWitoutOnes(int dlugosc, LL prefix_number=1) {
    LL hash = hash_memorized_result1(dlugosc, prefix_number);
    unordered_map<LL, LL*>::iterator it = memorized_results_map1.find(hash);
    LL *result;
    if (it==memorized_results_map1.end()) {
        result = getNewMemorizedResult();
        memorized_results_map1[hash] = result;

        compute2(result, dlugosc, prefix_number);
        if (prefix_number%2!=0) {
            compute5(result, dlugosc, prefix_number);
        }

    } else {
        result = it->second;
    }
    return result;
}

LL* computeAndMemorize(int dlugosc, LL prefix_number=1) {
    LL hash = hash_memorized_result(dlugosc, prefix_number);
    unordered_map<LL, LL*>::iterator it = memorized_results_map.find(hash);
    LL *result;
    if (it==memorized_results_map.end()) {
        result = getNewMemorizedResult();
        memorized_results_map[hash] = result;

        compute2(result, dlugosc, prefix_number);
        if (prefix_number%2!=0) {
            compute5(result, dlugosc, prefix_number);
        }

        LL mnoznik = 1;
        FOR(d1, 1, dlugosc){
            LL *resultWithOne = computeAndMemorizeWitoutOnes(dlugosc-d1, prefix_number);
            mnoznik *= dlugosc-d1+1;
            FOR(i,1,9) {
                result[i] += resultWithOne[i]*(mnoznik)/silnia[d1];
            }
        }

    } else {
        result = it->second;
    }
    return result;
}
void computeAndAddResult(LL *results, int dlugosc, LL prefix_number=1) {
    LL* result = computeAndMemorize(dlugosc, prefix_number);
    FOR(ri, 1,9) {
        results[ri]+=result[ri];
    }
}

void solve(LL n) {
    FOR(wi, 1, 9) {
        wyniki[wi] = 0;
    }
    int dlugosc = liczba_cyfr(n);
    FOR(di, 1, dlugosc-1) {
        FOR(wi, 1, 9) {
            wyniki[wi] += precomputed_results[di-1][wi-1];
        }
        // compute(wyniki, di, 1);
    }
    // REP(i, dlugosc) {
    //     cout<<cyfry[i]<<" ";
    // }
    // cout<<"\n";

    LL prefix_number=1;
    FOR(dlugosc_prefiksu, 1, dlugosc) {
        int current_digit = cyfry[dlugosc_prefiksu-1];
        FOR(di, 1, current_digit-1) {
            LL newPrefix = prefix_number*di;
            if (newPrefix%10) {
                computeAndAddResult(wyniki, dlugosc-dlugosc_prefiksu, newPrefix);
            }
        }
        prefix_number *= current_digit;
    }

    // int current_digit = cyfry[dlugosc];
    // FOR(di, 1, current_digit-1) {
    //     LL newPrefix = prefix_number*di;
    //     if (newPrefix%10) {
    //         LL cyfra = odwzoruj(newPrefix);
    //         wyniki[cyfra] += 1;
    //     }
    // }

    LL cyfra = odwzoruj(n);
    wyniki[cyfra] += 1;

    // LL ni = 1;
    // wyniki[1]=0;
    // while (n >= ni) {
    //     ni=ni*10+1;
    //     wyniki[1]++;
    // }

    wyniki[0]=n;
    FOR(i, 1, 9) {
        wyniki[0] -= wyniki[i];
    }
    FOR(i, 0, 9) {
        cout<<wyniki[i]<<" ";
    }
    cout<<"\n";
}

int main() {
    ios_base::sync_with_stdio(0);
    FOR(i, 1, 9) {
        mapping[i]=i;
    }
    FOR(i, 10, precomputed) {
        mapping[i]=mapping[mnoz(i)];
    }

    // FOR(newPrefix,1,9999) {
    //     FOR(wi, 0, 9) {
    //         wyniki[wi]=0;
    //     }
    //     int dlugosc;
    //     if (newPrefix < 10) {
    //         dlugosc = 17;
    //     } else if (newPrefix < 100) {
    //         dlugosc = 16;
    //     } else   if (newPrefix < 1000) {
    //         dlugosc = 15;
    //     } else   if (newPrefix < 10000) {
    //         dlugosc = 14;
    //     }
    //     LL hash = hash_memorized_result(dlugosc, mnoz(newPrefix));
    //     memorized_results_map[hash] = to_memorize[newPrefix-1];
    //     if (mnoz(newPrefix) % 10) {
    //         LL *wyn=computeAndMemorize(dlugosc, mnoz(newPrefix));
    //         cout<<"{0,";
    //         FOR(ii, 1, 9) {
    //             cout<<wyn[ii];
    //             if (wyn[ii]>1073741824) {
    //                 cout<<"LL";
    //             }
    //             cout<<",";
    //         }
    //         cout<<hash<<"LL},\n";
    //     }
    // }
    // return 0;
    // REP(i, 260) {
    //     memorized_results_map[to_memorize[i][10]] = to_memorize[i];
    // }
    // FOR(di, 1, 18) {
    //     compute(precomputed_results[di], di, 1);
    //     // cout<<"{";
    //     // FOR(ii, 1, 9){
    //     //     cout<<precomputed_results[di][ii]<<",";
    //     // }
    //     // cout<<"},\n";
    // }

    // FOR(pl, 2, 9) {
    //     p[pl][0] = 1;
    //     p[pl][1] = pl;
    //     FOR(pi, 2, 18) {
    //         p[pl][pi] = pl * p[pl][pi-1];
    //     }
    // }
    int t;
    cin >> t;
    REP(ti, t) {
        LL n;
        cin>>n;

        solve(n);
    }

    return 0;
}