package main
import (
"fmt"
)
func e(x uint64) string {
if x == 0 {
return ""
}
return e(x >> 1) + string((x & 1) + '0')
}
func main() {
var n, x int
var ok bool
fmt.Scanf("%d", &n)
for i := 0; i < n; i++ {
fmt.Scanf("%d", &x)
m := make(map[int]uint64)
m[1 % x] = 1
_, ok = m[10 % x]
if !ok {
m[10 % x] = 2
}
_, ok = m[11 % x]
if !ok {
m[11 % x] = 3
}
a := uint64(2)
r := 10 % x
_, ok = m[0]
for !ok {
a = a << 1
r = (r * 10) % x
mc := make(map[int]uint64)
for k, v := range m {
mc[k] = v
}
_, ok = m[r]
if !ok {
m[r] = a
}
if r == 0 {
break
}
for k, v := range mc {
nr := (r + k) % x
_, ok = m[nr]
if !ok {
m[nr] = a + v
if nr == 0 {
break
}
}
}
_, ok = m[0]
}
fmt.Printf("%s\n", e(m[0]))
}
}
CnBhY2thZ2UgbWFpbgppbXBvcnQgKAogICJmbXQiCikKZnVuYyBlKHggdWludDY0KSBzdHJpbmcgewoJaWYgeCA9PSAwIHsKCQlyZXR1cm4gIiIKCX0KCXJldHVybiBlKHggPj4gMSkgKyBzdHJpbmcoKHggJiAxKSArICcwJykKfQpmdW5jIG1haW4oKSB7CiAgdmFyIG4sIHggaW50CiAgdmFyIG9rIGJvb2wKICBmbXQuU2NhbmYoIiVkIiwgJm4pCiAgZm9yIGkgOj0gMDsgaSA8IG47IGkrKyB7CiAgICBmbXQuU2NhbmYoIiVkIiwgJngpCiAgICBtIDo9IG1ha2UobWFwW2ludF11aW50NjQpCiAgICBtWzEgJSB4XSA9IDEKICAgIF8sIG9rID0gbVsxMCAlIHhdCiAgICBpZiAhb2sgewogICAgICBtWzEwICUgeF0gPSAyCiAgICB9CiAgICBfLCBvayA9IG1bMTEgJSB4XQogICAgaWYgIW9rIHsKICAgICAgbVsxMSAlIHhdID0gMwogICAgfQogICAgYSA6PSB1aW50NjQoMikKICAgIHIgOj0gMTAgJSB4CiAgICBfLCBvayA9IG1bMF0KICAgIGZvciAhb2sgewogICAgICBhID0gYSA8PCAxCiAgICAgIHIgPSAociAqIDEwKSAlIHgKICAgICAgbWMgOj0gbWFrZShtYXBbaW50XXVpbnQ2NCkKICAgICAgZm9yIGssIHYgOj0gcmFuZ2UgbSB7CiAgICAgICAgbWNba10gPSB2CiAgICAgIH0KICAgICAgXywgb2sgPSBtW3JdCiAgICAgIGlmICFvayB7CiAgICAgICAgbVtyXSA9IGEKICAgICAgfQogICAgICBpZiByID09IDAgewogICAgICAgIGJyZWFrCiAgICAgIH0KICAgICAgZm9yIGssIHYgOj0gcmFuZ2UgbWMgewogICAgICAgIG5yIDo9IChyICsgaykgJSB4CiAgICAgICAgXywgb2sgPSBtW25yXQogICAgICAgIGlmICFvayB7CiAgICAgICAgICBtW25yXSA9IGEgKyB2CiAgICAgICAgICBpZiBuciA9PSAwIHsKICAgICAgICAgICAgYnJlYWsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgICAgXywgb2sgPSBtWzBdCiAgICB9CiAgICBmbXQuUHJpbnRmKCIlc1xuIiwgZShtWzBdKSkKICB9Cn0K