#include <iostream>
#include <cmath>
#include <algorithm>
using namespace std;
const int MAXN = 1005;
struct Point //点
{
double x, y; //坐标
Point() {}
Point(double x, double y) : x(x), y(y) {}
Point operator+(const Point& b) const { return Point(x + b.x, y + b.y); }
Point operator-(const Point& b) const { return Point(x - b.x, y - b.y); }
double operator*(const Point& b) const { return x * b.y - y * b.x; }
Point operator*(double b) const { return Point(b * x, b * y); }
}p[MAXN];
struct Line //线
{
Point st, ed; //起点,终点
double angle; //与X轴的夹角(弧度)
Line() {}
Line(const Point& st, const Point& ed) : st(st), ed(ed), angle(atan2(ed.y, ed.x)) { }
bool operator <(const Line& b) const
{
if (angle == b.angle)
return ed * (b.st - st) < 0;
return
angle < b.angle;
}
bool operator ==(const Line& b) const { return angle == b.angle; }
Point intersect(const Line& b)
{
Point u = st - b.st;
double t = (b.ed * u) / (ed * b.ed);
return st + ed * t;
}
}line[MAXN];
bool right(const Point& p, const Line& l)
{
return l.ed * (p - l.st) < 0;
}
int halfIntersection(Line l[], int n, Point* p)
{
static Line q[MAXN];
sort(l + 1, l + n + 1);
n = unique(l + 1, l + n + 1) - (l + 1);
int f = 1, r = 0, ans = 0;
q[++r] = l[1]; q[++r] = l[2];
for (int i = 3; i <= n; i++)
{
while (f < r && right(q[r].intersect(q[r - 1]), l[i]))
r--;
while (f < r && right(q[f].intersect(q[f + 1]), l[i]))
f++;
q[++r] = l[i];
}
while (f < r && right(q[r].intersect(q[r - 1]), q[f]))
r--;
while (f < r && right(q[f].intersect(q[f + 1]), q[r]))
f++;
q[r + 1] = q[f];
for (int i = f; i <= r; i++)
p[++ans] = q[i].intersect(q[i + 1]);
return ans;
}
int main()
{
int Case = 1;
int n;
while (cin >> n)
{
if (n == 0)
break;
for (int i = 1; i <= n; i++)
{
cin >> p[i].x >> p[i].y;
}
p[n + 1] = p[1];
int numLine = 0;
for (int i = 1; i <= n; i++)
{
line[++numLine] = Line(p[i], p[i] - p[i + 1]);
}
int ans = halfIntersection(line, numLine, p);
cout << "Floor #" << Case++ << endl;
if (ans > 2)
cout << "Surveillance is possible." << endl;
else
cout << "Surveillance is impossible." << endl;
cout << endl;
}
return 0;
}