#include long long solve(long long N, char S[]) { int i; long long ave = 0; for (i = 0; S[i] != '.'; i++) ave = ave * 10 + S[i] - '0'; for (i++; S[i] != 0; i++) ave = ave * 10 + S[i] - '0'; ave *= 10; int k; long long ans = 0; for (k = 1; k <= N && k <= 10000; k++) { // printf("%lld %lld\n", ave * k, (ave + 10) * k); if (ave * k / 10000 * 10000 != ave * k && ave * k / 10000 == (ave + 10) * k / 10000) continue; if (ave * k / 10000 * 10000 != ave * k && (ave + 10) * k / 10000 * 10000 == (ave + 10) * k && ave * k / 10000 == (ave + 10) * k / 10000 - 1) continue; ans++; } if (k <= N) ans += N - k + 1; return ans; } int main() { int T; long long N; char S[10]; scanf("%d", &T); while (T--) { scanf("%lld %s", &N, &S); printf("%lld\n", solve(N, S)); } fflush(stdout); return 0; }