#pragma warning(disable:4786) #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include 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 PII; typedef pair PDD; typedef vector VI; typedef vector 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; }