#include <bits/stdc++.h>
using namespace std;
int main() {
  std::ios::sync_with_stdio(false), cin.tie(NULL), cout.tie(NULL);
  int n, pos, l, r;
  cin >> n >> pos >> l >> r;
  int ans = 0;
  if (l == 1 && r == n) {
    cout << 0;
    return 0;
  }
  if (l == r) {
    ans = abs(l - pos);
    if (l > 1) ans++;
    if (r < n) ans++;
    cout << ans;
    return 0;
  }
  if (l > 1 && r < n) {
    if (pos >= l && pos <= r) {
      int ans = 2 * min(pos - l, r - pos) + max(pos - l, r - pos) + 2;
      cout << ans;
      return 0;
    } else {
      if (pos > r) {
        ans = pos - l + 2;
        cout << ans;
        return 0;
      } else {
        ans = r - pos + 2;
        cout << ans;
        return 0;
      }
    }
  }
  if (l == 1) {
    ans = abs(r - pos) + 1;
    cout << ans;
    return 0;
  }
  if (r == n) {
    ans = abs(pos - l) + 1;
    cout << ans;
    return 0;
  }
  return 0;
}
