#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <vector>
#include <algorithm>
#include <iostream>
#include <string>
#include <string.h>


struct test 
{
	int brU;
	int brB;
	int brG;
};
int main()
{
    int t;

    scanf("%d ", &t);
	std::vector<test> testovi;

	for(int i = 0; i < t; i++)
	{
		test te;
		if(i == t-1)
			scanf("%d %d %d", &te.brU, &te.brB, &te.brG);
		else
			scanf("%d %d %d ", &te.brU, &te.brB, &te.brG);
		testovi.push_back(te);
	}
	for(int i = 0; i < t; i++)
	{	
		test x = testovi[i];
		if(x.brU < x.brG || x.brU > x.brB) 
		{
			printf("Nie\n");
			continue;
		}
		int* grupe = (int*)malloc(sizeof(int) * x.brG);
		int br = x.brU / x.brG;
		int ostatak = x.brU - (br * x.brG);
		bool uspeh = true;
		if(ostatak > 0) grupe[0] = ostatak;
		grupe[0] += br;
		for(int j = 0; j < x.brG; j++)
		{
			if(j != 0)
				grupe[j] = br;
			int zbir = grupe[j] * (grupe[j] + 1) / 2;
			if(x.brB >= zbir) 
			{
				x.brB -= zbir;
			}
			else
			{
				printf("Nie\n");
				uspeh = false;
				break;
			}
		}
		if(uspeh) printf("Tak\n");
	}
    return 0;
}