#pragma warning(disable:4786)
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<vector>
#include<set>
#include<map>
#include<functional>
#include<string>
#include<cstring>
#include<cstdlib>
#include<queue>
#include<utility>
#include<fstream>
#include<sstream>
#include<cmath>
#include<stack>
#include<assert.h>
using namespace std;

#define MEM(a, b) memset(a, (b), sizeof(a))
#define CLR(a) memset(a, 0, sizeof(a))
#define MAX(a, b) ((a) > (b) ? (a) : (b))
#define MIN(a, b) ((a) < (b) ? (a) : (b))
#define ABS(X) ( (X) > 0 ? (X) : ( -(X) ) )
#define S(X) ( (X) * (X) )
#define SZ(V) (int )V.size()
#define FORN(i, n) for(i = 0; i < n; i++)
#define FORAB(i, a, b) for(i = a; i <= b; i++)
#define ALL(V) V.begin(), V.end()
#define IN(A, B, C)  ((B) <= (A) && (A) <= (C))

typedef pair<int,int> PII;
typedef pair<double, double> PDD;
typedef vector<int> VI;
typedef vector<PII > VP;


#define AIN(A, B, C) assert(IN(A, B, C))

//typedef int LL;
typedef long long int LL;
//typedef __int64 LL;

int main()
{
	int T, i;
	LL L, D, S, C, req;

	scanf("%d", &T);
	AIN(T, 1, 1000);
	while(T--)
	{
		scanf("%lld%lld%lld%lld", &L, &D, &S, &C);

		AIN(L, 1, 1000000000);
		AIN(D, 1, 1000000000);
		AIN(S, 1, 1000000000);
		AIN(C, 1, 1000000000);

		if(C == 1)
		{
			req = (L + S - 1) / S;
			printf("%s\n", req <= D ? "ALIVE AND KICKING" : "DEAD AND ROTTING");
		}
		else
		{
			for(i = 2; i <= D; i++)
			{
				S = S + C * S;
				if(S >= L) break;
			}

			printf("%s\n", S >= L ? "ALIVE AND KICKING" : "DEAD AND ROTTING");
		}
	}

	return 0;
}