#include <bits/stdc++.h>
using namespace std;
int n, q, s, e, cc, sz;
long long tt[150000];
void inc(int i, long long w) {
  for (; i <= n; i |= i + 1) tt[i] += w;
}
long long sum(int i) {
  long long sum = 0;
  for (; i >= 0; i = (i & (i + 1)) - 1) sum += tt[i];
  return sum;
}
long long que(int l, int r) {
  if (l > r) swap(l, r);
  return sum(r) - sum(l - 1);
}
int conv(int i) {
  if (!cc)
    return i + s;
  else
    return e - i;
}
int main() {
  cin >> n >> q;
  s = 0;
  e = n - 1;
  cc = 0;
  sz = e - s + 1;
  for (int i = 0; i < n; i++) inc(i, 1);
  int t, l, r;
  while (q--) {
    sz = e - s + 1;
    cin >> t;
    if (t == 1) {
      cin >> l;
      if (sz / 2 >= l) {
        for (int i = 1; i <= l; i++) {
          inc(conv(2 * l - i), que(conv(i - 1), conv(i - 1)));
        }
        if (!cc)
          s += l;
        else
          e -= l;
      } else {
        l = sz - l;
        cc ^= 1;
        for (int i = 1; i <= l; i++) {
          inc(conv(2 * l - i), que(conv(i - 1), conv(i - 1)));
        }
        if (cc)
          e -= l;
        else
          s += l;
      }
    } else {
      cin >> l >> r;
      r--;
      cout << que(conv(l), conv(r)) << endl;
    }
  }
  return 0;
}
