#include <iostream>
#include <vector>
#define ll long long

ll gas(int x);

int main() {
    int T; // broj razlicitih testova
    std::cin >> T;

    bool tak = true;
    
    for(int i=0;i<T;i++) {
        ll N, M, K; // broj ucenika, broj krem bananica, broj grupa
        std::cin >> N >> M >> K;

        if(K>1) {
            if(N%K == 0) {
                // slucaj kada su sve grupe jednakih velicina
                ll broj_clanova_grupe=N/K;
                ll M_po_grupi = M/K;

                if(M%K == 0) {
                    // kada je br_krem_bananica deljivo sa brojem grupa
                    // TODO: proveri ovaj slucaj dobro
                  
                    if(gas(broj_clanova_grupe)*K > M) {
                        std::cout << "Nie" << std::endl;
                        continue;
                    } else {
                        std::cout << "Tak" << std::endl;
                        continue;
                    }
                } else {
                    // kada nije deljivo (celobrojno)
                
                    if(broj_clanova_grupe > 1) {
                        if(gas(broj_clanova_grupe)*K < M_po_grupi) {
                            std::cout << "Tak" << std::endl;
                            continue;
                        } else {
                            std::cout << "Nie" << std::endl;
                            continue;
                        }
                    } else {
                        // slucaj kada clanovi u grupi su manji od 2
                        if(gas(broj_clanova_grupe)*K < M) {
                            std::cout << "Tak" << std::endl;
                            continue;
                        } else {
                            std::cout << "Nie" << std::endl;
                            continue;
                        }
                    }
                }
            } else {
                // slucaj kada nije jednak broj grupa

                ll min_grupa = N/K;
                ll max_grupa = min_grupa+1;

                // imamo min i max grupu, jedine dve grupe koje mogu da se
                // pojave
                
                ll pocetni_br = N;
                int broj_min_grupa=0;
                for(int i=K;i>1;i--) {
                    if(pocetni_br/i == min_grupa)
                        broj_min_grupa++;
                    pocetni_br -= pocetni_br/i;
                }


                ll min_granica = broj_min_grupa*gas(min_grupa) + (K-broj_min_grupa)*gas(max_grupa);
                if(min_granica <= M) {
                    std::cout << "Tak" << std::endl;
                    continue;
                } else {
                    std::cout << "Nie" << std::endl;
                    continue;
                }
            }
        } else {
            // slucaj kada imamo samo jednu grupu
            
            if(gas(N) <= M) {
                std::cout << "Tak\n";
                continue;
            } else {
                std::cout << "Nie\n";
                continue;
            }
        }


    }

    return 0;
}

ll gas(int x) {
    return x*(x+1)/2;
}