#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e6 + 10;
const double pi = acos(-1.0);
int n;
int root[maxn];
long long cnt[11];
int getroot(int x) {
  if (~root[x]) return root[x];
  if (x <= 9) return root[x] = x;
  int cnt = 0;
  int tmp = x;
  while (x) {
    cnt += x % 10;
    x /= 10;
  }
  return root[tmp] = getroot(cnt);
}
int main() {
  memset(root, -1, sizeof root);
  scanf("%d", &n);
  for (int i = 1; i <= 1000000; i++) getroot(i);
  long long ans = 0;
  for (int i = 1; i <= n; i++) {
    cnt[root[i]]++;
    ans -= n / i;
  }
  for (int i = 1; i <= 9; i++)
    for (int j = 1; j <= 9; j++) ans += cnt[i] * cnt[j] * cnt[root[i * j]];
  cout << ans << endl;
  return 0;
}
