#include <bits/stdc++.h>
using namespace std;
int n, m, a, b;
int main() {
  scanf("%d%d%d%d", &n, &m, &a, &b);
  bool last = (b % m) && b != n;
  bool first = (a % m) != 1 && m != 1;
  int row1 = (a / m) + ((a % m) != 0);
  int rown = (b / m) + ((b % m) != 0);
  int posf = (a % m);
  if (posf == 0) posf = m;
  int posl = (b % m);
  if (posl == 0) posl = m;
  int ans = 3;
  if (row1 == rown) {
    ans = 1;
  } else if (posf == 1 && (posl == m || b == n)) {
    ans = 1;
  } else if (rown - row1 == 1) {
    ans = 2;
  } else if ((b - a + 1) % m == 0) {
    ans = 2;
  } else if (b == n || posl == m) {
    ans = 2;
  } else if (posf == 1) {
    ans = 2;
  }
  printf("%d\n", ans);
  return 0;
}
