Олимпиадный тренинг

Задача . C. Цифровой корень


Задача

Темы: теория чисел *2000

Недавно Васе попалась такая задача, в которой были заданы три натуральных числа A, B и C из диапазона [1, N], и требовалось проверить, верно ли равенство AB = C. Недавно Вася изучил понятие цифрового корня из числа. Напомним, что цифровой корень d(x) числа x равен сумме цифр s(x) этого числа, если s(x) ≤ 9, и равен d(s(x)) в противном случае. К примеру, цифровой корень числа 6543 вычисляется следующим образом: d(6543) = d(6 + 5 + 4 + 3) = d(18) = 9. Вася вычитал, что цифровой корень произведения чисел равен цифровому корню произведения цифровых корней сомножителей, т.е. d(xy) = d(d(x)d(y)). И ему пришел в голову такой способ решения задачи: посчитать цифровые корни и проверить выполнение этого условия. Однако Вася подозревает, что это условие не является достаточным. Поэтому он просит вас посчитать, сколько существует тестовых примеров для встреченной им задачи таких, что предложенный им алгоритм ошибется.

Входные данные

В первой строке записано единственное число N (1 ≤ N ≤ 106).

Выходные данные

Выведите одно число — количество искомых троек A, B и C из диапазона [1, N].

Примечание

В первом примере искомые тройки это (3, 4, 3) и (4, 3, 3).


Примеры
Входные данныеВыходные данные
1 4
2
2 5
6

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя