#include <iostream>
#include <cmath>
#include <vector>
#define MAX_Y 10000;
using namespace std;
struct slide {
double x1;
double y1;
double x2;
double y2;
};
//высота соприкосновения капли с крышей [ур-ние прямой по 2-м точкам]
double f (slide x, double x0) {
double dx = x.x2 - x.x1;
double dy = x.y2 - x.y1;
return ((dy*(x0 - x.x1))/dx + x.y1);
}
vector <slide> roof; //вектор всех крыш
//считывание и заполнение данных
void read (int n) {
while (n--) {
double a, b, c, d;
slide x;
cin >> a >> b >> c >> d;
if (a < c) {
x.x1 = a;
x.y1 = b;
x.x2 = c;
x.y2 = d;
}
else
{
x.x1 = c;
x.y1 = d;
x.x2 = a;
x.y2 = b;
}
roof.push_back(x);
}
}
int main() {
int n, x, y = MAX_Y + 1;
slide a;
cin >> x >> n;
if (n == 0) {
cout << x;
return 0;
}
read (n);
while (roof.size()) {
int index = -1;
int value = -1; //предполагаемая высока соприкосновения капли со следующей крышей
bool no_projection = true;
for (int i = 0; i < roof.size(); i++) { //поиск самой высокой крыши в точке х
if ((x <= roof[i].x2) and (x >= roof[i].x1)) { //капля проектируется на и-тую крышу?
no_projection = false;
if ((f(roof[i], x) > value) and (f(roof[i], x) < y)) { //и-тая крыша выше ранее найденной?
value = f(roof[i], x);
index = i;
}
}
if (min(roof[i].y1, roof[i].y2) > y) { //крыша целиком осталась выше?
roof.erase(roof.begin() + i);
i--;
}
}
if ((roof.size() == 0) or (no_projection)) { //если удалили все крыши или свободно падает на землю
cout << x;
return 0;
}
if (roof[index].y1 < roof[index].y2) //какой конец крыши ниже?
x = roof[index].x1;
else
x = roof[index].x2;
y = min(roof[index].y1, roof[index].y2); //сохранили новую ординату
roof.erase(roof.begin() + index);
}
cout << x;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+CiNpbmNsdWRlIDx2ZWN0b3I+CiNkZWZpbmUgTUFYX1kgMTAwMDA7CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnN0cnVjdCBzbGlkZSB7Cglkb3VibGUgeDE7Cglkb3VibGUgeTE7Cglkb3VibGUgeDI7Cglkb3VibGUgeTI7Cn07Ci8v0LLRi9GB0L7RgtCwINGB0L7Qv9GA0LjQutC+0YHQvdC+0LLQtdC90LjRjyDQutCw0L/Qu9C4INGBINC60YDRi9GI0LXQuSBb0YPRgC3QvdC40LUg0L/RgNGP0LzQvtC5INC/0L4gMi3QvCDRgtC+0YfQutCw0LxdCmRvdWJsZSBmIChzbGlkZSB4LCBkb3VibGUgeDApIHsKCWRvdWJsZSBkeCA9IHgueDIgLSB4LngxOwoJZG91YmxlIGR5ID0geC55MiAtIHgueTE7CglyZXR1cm4gKChkeSooeDAgLSB4LngxKSkvZHggKyB4LnkxKTsKfQoKdmVjdG9yIDxzbGlkZT4gcm9vZjsgLy/QstC10LrRgtC+0YAg0LLRgdC10YUg0LrRgNGL0YgKCi8v0YHRh9C40YLRi9Cy0LDQvdC40LUg0Lgg0LfQsNC/0L7Qu9C90LXQvdC40LUg0LTQsNC90L3Ri9GFCnZvaWQgcmVhZCAoaW50IG4pIHsKCXdoaWxlIChuLS0pIHsKCQlkb3VibGUgYSwgYiwgYywgZDsKCQlzbGlkZSB4OwoJCWNpbiA+PiBhID4+IGIgPj4gYyA+PiBkOwoJCWlmIChhIDwgYykgewoJCQl4LngxID0gYTsKCQkJeC55MSA9IGI7CgkJCXgueDIgPSBjOwoJCQl4LnkyID0gZDsKCQl9CgkJZWxzZQoJCXsKCQkJeC54MSA9IGM7CgkJCXgueTEgPSBkOwoJCQl4LngyID0gYTsKCQkJeC55MiA9IGI7CgkJfQoJCXJvb2YucHVzaF9iYWNrKHgpOwoJfQp9CgppbnQgbWFpbigpIHsKCWludCBuLCB4LCB5ID0gTUFYX1kgKyAxOwoJc2xpZGUgYTsKCWNpbiA+PiB4ID4+IG47CglpZiAobiA9PSAwKSB7CgkJY291dCA8PCB4OwoJCXJldHVybiAwOwoJfQoJcmVhZCAobik7Cgl3aGlsZSAocm9vZi5zaXplKCkpIHsKCQlpbnQgaW5kZXggPSAtMTsKCQlpbnQgdmFsdWUgPSAtMTsgLy/Qv9GA0LXQtNC/0L7Qu9Cw0LPQsNC10LzQsNGPINCy0YvRgdC+0LrQsCDRgdC+0L/RgNC40LrQvtGB0L3QvtCy0LXQvdC40Y8g0LrQsNC/0LvQuCDRgdC+INGB0LvQtdC00YPRjtGJ0LXQuSDQutGA0YvRiNC10LkKCQlib29sIG5vX3Byb2plY3Rpb24gPSB0cnVlOwoJCWZvciAoaW50IGkgPSAwOyBpIDwgcm9vZi5zaXplKCk7IGkrKykgeyAvL9C/0L7QuNGB0Log0YHQsNC80L7QuSDQstGL0YHQvtC60L7QuSDQutGA0YvRiNC4INCyINGC0L7Rh9C60LUg0YUKCQkJaWYgKCh4IDw9IHJvb2ZbaV0ueDIpIGFuZCAoeCA+PSByb29mW2ldLngxKSkgeyAvL9C60LDQv9C70Y8g0L/RgNC+0LXQutGC0LjRgNGD0LXRgtGB0Y8g0L3QsCDQuC3RgtGD0Y4g0LrRgNGL0YjRgz8KCQkJCW5vX3Byb2plY3Rpb24gPSBmYWxzZTsKCQkJCWlmICgoZihyb29mW2ldLCB4KSA+IHZhbHVlKSBhbmQgKGYocm9vZltpXSwgeCkgPCB5KSkgeyAvL9C4LdGC0LDRjyDQutGA0YvRiNCwINCy0YvRiNC1INGA0LDQvdC10LUg0L3QsNC50LTQtdC90L3QvtC5PwoJCQkJCXZhbHVlID0gZihyb29mW2ldLCB4KTsKCQkJCQlpbmRleCA9IGk7CgkJCQl9CgkJCX0KCQkJaWYgKG1pbihyb29mW2ldLnkxLCByb29mW2ldLnkyKSA+IHkpIHsgIC8v0LrRgNGL0YjQsCDRhtC10LvQuNC60L7QvCDQvtGB0YLQsNC70LDRgdGMINCy0YvRiNC1PwoJCQkJcm9vZi5lcmFzZShyb29mLmJlZ2luKCkgKyBpKTsKCQkJCWktLTsKCQkJfQoJCX0KCQlpZiAoKHJvb2Yuc2l6ZSgpID09IDApIG9yIChub19wcm9qZWN0aW9uKSkgeyAgLy/QtdGB0LvQuCDRg9C00LDQu9C40LvQuCDQstGB0LUg0LrRgNGL0YjQuCDQuNC70Lgg0YHQstC+0LHQvtC00L3QviDQv9Cw0LTQsNC10YIg0L3QsCDQt9C10LzQu9GOCgkJCWNvdXQgPDwgeDsKCQkJcmV0dXJuIDA7CgkJfQoJCWlmIChyb29mW2luZGV4XS55MSA8IHJvb2ZbaW5kZXhdLnkyKSAgLy/QutCw0LrQvtC5INC60L7QvdC10YYg0LrRgNGL0YjQuCDQvdC40LbQtT8KCQkJeCA9IHJvb2ZbaW5kZXhdLngxOwoJCWVsc2UKCQkJeCA9IHJvb2ZbaW5kZXhdLngyOwoJCXkgPSBtaW4ocm9vZltpbmRleF0ueTEsIHJvb2ZbaW5kZXhdLnkyKTsgLy/RgdC+0YXRgNCw0L3QuNC70Lgg0L3QvtCy0YPRjiDQvtGA0LTQuNC90LDRgtGDCgkJcm9vZi5lcmFzZShyb29mLmJlZ2luKCkgKyBpbmRleCk7Cgl9Cgljb3V0IDw8IHg7CglyZXR1cm4gMDsKfQ==