Description
Farmer John的奶牛们总是在农场周围制造各种麻烦,所以FJ想更多的关注一下他们。他在农场的不同位置安装N(1≤N≤200)个反射栅栏,这样他就能够从他家里的位置(0,0)看到位置为(a,b)的牛棚了.
把FJ的农场看做是一个2维的地图,栅栏i是以(x_i,y_i)为中心并倾斜45度的短线段(类似"/"或者"\")。例如在点(3,5)处有一个朝向为"/"的栅栏,那么这个栅栏就可以表示为从点(2.9,4.9)到点(3.1,5.1)的一个线段。
每个栅栏的位置(以及牛棚的位置)都不相同,栅栏的坐标位置的范围是-1000000到1000000,并且没有任何栅栏的是位置是(0,0)或(a,b)。
FJ计划坐在家里(0,0)的位置,并且只往右看(即+x的方向)。他希望通过农场上的反射栅栏的层层反射,最终他能够看到牛棚的位置(a,b)。不巧的是,FJ想到其中有一个反射栅栏的朝向可能弄反了(比如"/"应该是"\")。
请输出一个栅栏的编号,通过转换这个栅栏的方向,和后面其他栅栏的层层反射,使得FJ最终看到了点(a,b)。如果FJ不需要转换任何栅栏的反射他就能看到点(a,b),输出0,如果即使转换单个栅栏的朝向后他仍然无法看到点(a,b),输出-1
Input
第一行,三个整数N,a,b
接下来N行,描述N个栅栏,格式为"x_i y_i /"或者是"x_i y_i \",表示栅栏i的中心位置是(x_i,y_i)朝向是"/"或者是"\"
Output
一行,一个整数,表示一个栅栏的编号,通过转换这个栅栏的方向,和后面其他栅栏的层层反射,使得最终FJ看到了点(a,b)。
5 6 2
3 0 /
0 2 /
1 2 /
3 2 \
1 3 \
HINT
样例说明:
我们把输入样例中的栅栏和点描述在2维的平面内,如下所示,其中"H"表示FJ的加的位置,"B"表示牛棚的位置
3 .\.....
2 //.\..B
1 .......
0 H../...
0123456
我们改变了栅栏(3,2)的朝向,并且通过这个栅栏的反射,最终看到了点(a,b)即牛棚的位置。
3 .\.....
2 //./<-B
1 ...|...
0 H<-/...
0123456
栅栏(3,2)是输入的第4个栅栏,所以输出答案是4.