#include <bits/stdc++.h>
long long max(long long A, long long b) {
  if (A > b) return A;
  return b;
}
long long min(long long A, long long b) {
  if (A < b) return A;
  return b;
}
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  long long n;
  cin >> n;
  map<pair<long long, long long>, long long> mp;
  long long ans = 0;
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= n; j++) {
      long long a = i;
      long long b = j;
      long long c = a ^ b;
      if (a + b > c && a + c > b && b + c > a && c >= 1 && c <= n) {
        ans++;
      }
    }
  }
  ans = ans / 6;
  cout << ans << endl;
}
