#include <algorithm>#include <iostream>#include <cstdlib>#include <cstring>#include <cstdio>#include <cmath>using namespace std;typedef struct pnode{double x,y,r;pnode(){}pnode(double X, double Y, double R = 0) {x = X;y = Y;r = R;}}point;point C[10001];typedef struct lnode{double x,y,dx,dy;lnode(){}lnode(double X, double Y, double DX, double DY) {x = X;y = Y;dx = DX;dy = DY;}}line;double dist_p2p(point a, point b){return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));}double crossproduct(point a, point b, point c){return (b.x-a.x)*(c.y-a.y)-(c.x-a.x)*(b.y-a.y);}double dist_p2l(point p, point a, point b){line l(p.x, p.y, a.y-b.y, b.x-a.x);if ((l.dx*(a.y-l.y)-l.dy*(a.x-l.x))*(l.dx*(b.y-l.y)-l.dy*(b.x-l.x)) >= 0)return min(dist_p2p(p, a), dist_p2p(p, b));return fabs(crossproduct(a, b, p)/dist_p2p(a, b));}int main(){point A,B,O;int n,a,b,c;while (~scanf("%d",&n) && n) {for (int i = 0; i < n; ++ i)scanf("%lf%lf%lf",&C[i].x,&C[i].y,&C[i].r);scanf("%lf%lf%lf%lf",&A.x,&A.y,&B.x,&B.y);point O((A.x+B.x)/2, (A.y+B.y)/2);a = b = c = 0;for (int i = 0; i < n; ++ i) {if (dist_p2p(C[i], O) <= C[i].r)c = 1;if (dist_p2l(C[i], O, A) <= C[i].r)a = 1;if (dist_p2l(C[i], O, B) <= C[i].r)b = 1;}if (c || a&&b)printf("STAYn");else printf("FALLn");} return 0;}