#pragma GCC optimize ("Ofast")
#include<bits/stdc++.h>
using namespace std;
template < class T1, class T2, class T3> inline T1 Kth1_L( const T1 a, const T2 b, const T3 c) {
if ( a <= b) {
if ( b <= c) {
return b;
}
if ( c <= a) {
return a;
}
return c;
}
if ( a <= c) {
return a;
}
if ( c <= b) {
return b;
}
return c;
}
template < class T> inline T pow2_L( T a) {
return a* a;
}
#define main dummy_main
int main( ) {
return 0 ;
}
#undef main
class Solution{
public :
bool checkOverlap( int r, int cx, int cy, int x1, int y1, int x2, int y2) {
int x = Kth1_L( x1,x2,cx) ;
int y = Kth1_L( y1,y2,cy) ;
return ( pow2_L( ( x- cx) ) + pow2_L( ( y- cy) ) <= pow2_L( r) ) ;
}
}
;
// cLay varsion 20200408-1
// --- original code ---
// #define main dummy_main
// {}
// #undef main
//
// class Solution {
// public:
// bool checkOverlap(int r, int cx, int cy, int x1, int y1, int x2, int y2) {
// int x = Kth1(x1,x2,cx), y = Kth1(y1,y2,cy);
// return ((x-cx)**2 + (y-cy)**2 <= r**2);
// }
// };
I3ByYWdtYSBHQ0Mgb3B0aW1pemUgKCJPZmFzdCIpCiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnRlbXBsYXRlPGNsYXNzIFQxLCBjbGFzcyBUMiwgY2xhc3MgVDM+IGlubGluZSBUMSBLdGgxX0woY29uc3QgVDEgYSwgY29uc3QgVDIgYiwgY29uc3QgVDMgYyl7CiAgaWYoYSA8PSBiKXsKICAgIGlmKGIgPD0gYyl7CiAgICAgIHJldHVybiBiOwogICAgfQogICAgaWYoYyA8PSBhKXsKICAgICAgcmV0dXJuIGE7CiAgICB9CiAgICByZXR1cm4gYzsKICB9CiAgaWYoYSA8PSBjKXsKICAgIHJldHVybiBhOwogIH0KICBpZihjIDw9IGIpewogICAgcmV0dXJuIGI7CiAgfQogIHJldHVybiBjOwp9CnRlbXBsYXRlPGNsYXNzIFQ+IGlubGluZSBUIHBvdzJfTChUIGEpewogIHJldHVybiBhKmE7Cn0KI2RlZmluZSBtYWluIGR1bW15X21haW4KaW50IG1haW4oKXsKICByZXR1cm4gMDsKfQojdW5kZWYgbWFpbgpjbGFzcyBTb2x1dGlvbnsKICBwdWJsaWM6CiAgYm9vbCBjaGVja092ZXJsYXAoaW50IHIsIGludCBjeCwgaW50IGN5LCBpbnQgeDEsIGludCB5MSwgaW50IHgyLCBpbnQgeTIpewogICAgaW50IHggPUt0aDFfTCh4MSx4MixjeCk7CiAgICBpbnQgeSA9S3RoMV9MKHkxLHkyLGN5KTsKICAgIHJldHVybiAocG93Ml9MKCh4LWN4KSkrcG93Ml9MKCh5LWN5KSk8PXBvdzJfTChyKSk7CiAgfQp9CjsKLy8gY0xheSB2YXJzaW9uIDIwMjAwNDA4LTEKCi8vIC0tLSBvcmlnaW5hbCBjb2RlIC0tLQovLyAjZGVmaW5lIG1haW4gZHVtbXlfbWFpbgovLyB7fQovLyAjdW5kZWYgbWFpbgovLyAKLy8gY2xhc3MgU29sdXRpb24gewovLyBwdWJsaWM6Ci8vICAgYm9vbCBjaGVja092ZXJsYXAoaW50IHIsIGludCBjeCwgaW50IGN5LCBpbnQgeDEsIGludCB5MSwgaW50IHgyLCBpbnQgeTIpIHsKLy8gICAgIGludCB4ID0gS3RoMSh4MSx4MixjeCksIHkgPSBLdGgxKHkxLHkyLGN5KTsKLy8gICAgIHJldHVybiAoKHgtY3gpKioyICsgKHktY3kpKioyIDw9IHIqKjIpOwovLyAgIH0KLy8gfTsK