/*
* 利用叉乘判断多边形是凸的,还是凹的
* auther:Try86
*/
#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std;
struct point {
int x;
int y;
}A, B, C, tA, tB;
int crossProd(point A, point B, point C) {
return (B.x-A.x)*(C.y-A.y) - (B.y-A.y)*(C.x-A.x);
}
int main() {
int n;
while (scanf("%d", &n), n) {
if (n < 3) {
for (int i=0; i<n; ++i) scanf ("%d%d", &A.x, &A.y);
printf ("concave\n");
continue;
}
scanf ("%d%d%d%d%d%d", &A.x, &A.y, &B.x, &B.y, &C.x, &C.y);
tA = A, tB = B;
bool yes = true;
int counts = 0; //判断多边形是否退化为一条线,但该题没有这样的测试数据
for (int i=2; i<n; ++i) {
if (yes) {
A = B;
B = C;
if (crossProd(A, B, C) < 0) yes = false;
else if (crossProd(A, B, C) == 0) ++counts;
}
if (i < n - 1) scanf ("%d%d", &C.x, &C.y);
}
if (crossProd(B, C, tA) < 0) yes = false;
else if (crossProd(B, C, tA) == 0) ++counts;
if (crossProd(C, tA, tB) < 0) yes = false;
else if (crossProd(C, tA, tB) == 0) ++counts;
if (yes && counts<n) printf ("convex\n");
else printf ("concave\n");
}
return 0;
}