#include <bits/stdc++.h>




namespace zawa {

using i16 = std::int16_t;
using i32 = std::int32_t;
using i64 = std::int64_t;
using i128 = __int128_t;

using u8 = std::uint8_t;
using u16 = std::uint16_t;
using u32 = std::uint32_t;
using u64 = std::uint64_t;

using usize = std::size_t;

} // namespace zawa


namespace zawa {

void SetFastIO() {
    std::cin.tie(nullptr)->sync_with_stdio(false);
}

void SetPrecision(u32 dig) {
    std::cout << std::fixed << std::setprecision(dig);
}

} // namespace zawa



namespace zawa {

i64 FloatingMarkerShift(const std::string& S, u32 shift) {
    static i64 lim10{std::numeric_limits<i64>::max() / 10};
    assert(not S.empty());
    i64 res{};
    u32 moved{};
    bool start{};
    bool minus{S[0] == '-'};
    for (u32 i{(u32)minus} ; i < S.size() ; i++) {
        if (S[i] == '.') {
            start = true;
        }
        else {
            if (start) moved++;
            assert(res < lim10);
            res = res * 10;
            assert(res < std::numeric_limits<i64>::max() - (S[i] - '0'));
            res += S[i] - '0';
        }
    }
    assert(moved <= shift);
    while (moved < shift) {
        moved++;
        assert(res < lim10);
        res = res * 10;
    }
    if (minus) res *= -1;
    return res;
}

}// namespace zawa
using namespace zawa;

void generator(long long& n, std::string& s) {
    std::mt19937 mt{std::random_device{}()};
    n = mt() % 10000000 + 1;
    int f{(mt() % 100)};
    int b{(mt() % 1000)};
    s = std::to_string(f) + "." + std::to_string(b);
}

long long brute(long long n, const std::string& in) {
    long long s{FloatingMarkerShift(in, 3)};
    long long res{};
    for (int i{1} ; i <= n ; i++) {
        long long ns{s * i}, ns1{(s + 1) * i};
        if ((ns1 / 1000) > (ns / 1000) or (ns % 1000 == 0)) res++;
    }
    return res;
}

long long solve(long long n, const std::string& in) {
    long long s{FloatingMarkerShift(in, 3)};
    long long ans{std::max(0LL, n - 1000 + 1)};
    for (long long i{1} ; i <= std::min(n, 999LL) ; i++) {
        long long ns{s * i}, ns1{(s + 1) * i - 1};
        if ((ns1 / 1000) > (ns / 1000) or (ns % 1000 == 0)) ans++;
    }
    return ans;
}

long long test() {
    long long n;
    std::string s;
    // generator(n, s);
    std::cin >> n >> s;
    return solve(n, s);
    // long long ushi{brute(n, s)}, your{solve(n, s)};
    // if (ushi == your) {
    //     return your;
    // }
    // else {
    //     std::cout << n << ' ' << s << std::endl;
    //     std::cout << ushi << std::endl;
    //     std::cout << your << std::endl;
    //     exit(0);
    //     return -1;
    // }
}

int main() {
    SetFastIO();

    int t; std::cin >> t;
    for (int _{} ; _ < t ; _++) {
        std::cout << test() << '\n';
    }
    // int t; std::cin >> t;
    // for (int _{} ; _ < t ; _++) {
    //     std::cout << solve() << '\n';
    // }
}