#include <bits/stdc++.h>   using namespace std;   inline long long getint() {     long long _x = 0, _tmp = 1;     char _tc = getchar();     while ((_tc <  0  || _tc >  9 ) && _tc !=  - ) _tc = getchar();     if (_tc ==  - ) _tc = getchar(), _tmp = -1;     while (_tc >=  0  && _tc <=  9 ) _x *= 10, _x += (_tc -  0 ), _tc = getchar();     return _x * _tmp;   }   inline long long add(long long _x, long long _y,                        long long _mod = 1000000007ll) {     long long _ = _x + _y;     if (_ >= _mod) _ -= _mod;     return _;   }   inline long long sub(long long _x, long long _y,                        long long _mod = 1000000007ll) {     long long _ = _x - _y;     if (_ < 0) _ += _mod;     return _;   }   inline long long mul(long long _x, long long _y,                        long long _mod = 1000000007ll) {     long long _ = _x * _y;     if (_ >= _mod) _ %= _mod;     return _;   }   long long mypow(long long _a, long long _x, long long _mod) {     if (_x == 0) return 1ll;     long long _tmp = mypow(_a, _x / 2, _mod);     _tmp = mul(_tmp, _tmp, _mod);     if (_x & 1) _tmp = mul(_tmp, _a, _mod);     return _tmp;   }   long long mymul(long long _a, long long _x, long long _mod) {     if (_x == 0) return 0ll;     long long _tmp = mymul(_a, _x / 2, _mod);     _tmp = add(_tmp, _tmp, _mod);     if (_x & 1) _tmp = add(_tmp, _a, _mod);     return _tmp;   }   inline bool equal(double _x, double _y) {     return _x > _y - 1e-9 && _x < _y + 1e-9;   }   int __ = 1, _cs;   void build() {}   long long n, m, a, b;   void init() {     n = getint();     m = getint();     a = getint() - 1;     b = getint() - 1;   }   void solve() {     long long ai = a / m, aj = a % m;     long long bi = b / m, bj = b % m;     if (ai == bi || (a == 0 && b == n - 1) || m == 1) {       puts( 1 );       exit(0);     }     if (aj == 0 && (bj == m - 1 || b == n - 1)) {       puts( 1 );       exit(0);     }     if (aj == 0 || bj == m - 1 || bi == ai + 1 || bj + 1 == aj || b == n - 1) {       puts( 2 );       exit(0);     }     puts( 3 );   }   int main() {     build();     while (__--) {       init();       solve();     }   }   