#include #include #include #include using namespace std; int main() { freopen("metro.in", "r", stdin); freopen("metro.out", "w", stdout); int n; double l, k; vector v; scanf("%lf %lf %d\n", &l, &k, &n); v.resize(n); for(int i = 0; i < n; i++) { scanf("%lf ", &v[i]); } sort(v.begin(), v.end()); vector::iterator it = upper_bound(v.begin(), v.end(), k); if(it == v.end()) it--; else if(fabs(*(it - 1) - k) < fabs(*it - k)) it--; printf("%.6lf\n", *it + fabs(*it - k)); return 0; }