#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef vector VI; typedef vector VII; typedef vector VS; typedef long long lint; typedef long long LL; typedef string ST; #define VAR(v,n) __typeof(n) v=(n) #define REP(i,n) for(int i=0; i<(n); i++) #define FOR(i,a,b) for(int i=(a); i<=(b); i++) #define FORD(i,a,b) for(int i=(a); i>=(b); i--) #define FOREACH(i,c) for(VAR(i,(c).begin()); i!=(c).end(); i++) #define PB push_back #define PF push_front #define PI pair #define MP make_pair #define FI first #define SE second #define VR vector #define IT iterator #define ALL(x) (x).begin(),(x).end() #define SIZE(x) ((int)(x).size()) #define CLEAR(c,w) memset(c,w,sizeof(c)) #define M 1005 int n; PI T[M]; map pion,poziom; int next[M][2],il[2]; char vis[M]; VI res; inline bool fun1(int x, int y) { return T[x].SE