#include <bits/stdc++.h>
using namespace std;
long long len(long long n) {
  if (n <= 1)
    return 1;
  else {
    return 2 * len(n / 2) + 1;
  }
}
long long fz(long long n, long long l, long long r) {
  if ((l >= r || l <= 0 || r <= 0) && (n == 1 || n == 0))
    return n;
  else {
    long long l1 = len(n);
    long long mid = (l1 + 1) / 2;
    if (mid > r)
      return fz(n / 2, l, r);
    else if (mid == r) {
      if (l == r)
        return fz(n % 2, 1, 1);
      else
        return fz(n / 2, l, mid - 1) + fz(n % 2, 1, 1);
    } else if (mid < l)
      return fz(n / 2, l - mid, r - mid);
    else if (mid == l)
      return fz(n / 2, l - mid + 1, r - mid) + fz(n % 2, 1, 1);
    else
      return fz(n / 2, l, mid - 1) + fz(n % 2, 1, 1) + fz(n / 2, 1, r - mid);
  }
}
int main() {
  long long l, r, n;
  cin >> n >> l >> r;
  cout << fz(n, l, r);
}
