#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define aLL(g) (g).begin(),(g).end() #define REP(i, x, n) for(int i = x; i < n; i++) #define rep(i,n) REP(i,0,n) #define F(i,j,k) fill(i[0],i[0]+j*j,k) #define P(p) cout<<(p)< vi; typedef vector vl; typedef vector vd; typedef pair pii; typedef pair pll; typedef long long ll; int dx[] = { 0,1,0,-1 }; int dy[] = { -1,0,1,0 }; int sttoi(std::string str) { int ret; std::stringstream ss; ss << str; ss >> ret; return ret; } int par[MAX]; int ran[MAX]; int main() { ll n, a, b, c; cin >> n >> a >> b >> c; if (a == b == c) { P(1); } else if (a == c) { P(0); } else if (a < c || a > c) { if (max(a, max(b, c)) == b) { P(0); } else if (min(a, min(b, c)) == b) { P(0); } else { ll gap = min(abs(a - b), abs(b - c)); P((int)gap / n + 1); } } }