Problem:
Score : 400 points

Problem Statement

Given is a positive integer N.

Find the number of pairs (A, B) of positive integers not greater than N that satisfy the following condition:

When A and B are written in base ten without leading zeros, the last digit of A is equal to the first digit of B, and the first digit of A is equal to the last digit of B.

Constraints

1 \leq N \leq 2 \times 10^5

All values in input are integers.

Input

Input is given from Standard Input in the following format:

N

Output

Print the answer.

Sample Input 1

25

Sample Output 1

17

The following 17 pairs satisfy the condition: (1,1), (1,11), (2,2), (2,22), (3,3), (4,4), (5,5), (6,6), (7,7), (8,8), (9,9), (11,1), (11,11), (12,21), (21,12), (22,2), and (22,22).

Sample Input 2

1

Sample Output 2

1

Sample Input 3

100

Sample Output 3

108

Sample Input 4

2020

Sample Output 4

40812

Sample Input 5

200000

Sample Output 5

400000008

Solution in PHP (5.6.30) (judge verdict: Time Limit Exceeded)

<?php
$N = fgets(STDIN);
$result = 0;
for ($i = 1; $i <= $N; $i ++) {
    $checker = false;
    for ($j = 1; $j <= $N; $j ++) {
        // $iの先頭が$jの末尾と等しいか確認(一度等しければ次回以降省略)
        if (! $checker) {
            if (substr($i, 0, 1) === substr($j, - 1, 1)) {
                $checker = true;
            } else {
                continue;
            }
        }
        // $iの末尾が$jの先頭に等しければ答え+1
        if (substr($j, 0, 1) === substr($i, - 1, 1)) {
            $result ++;
            // $j桁数-$i桁数が1の時、$jを、$i末尾の数字＋0を$jの桁数分にする
            // 例 (12:31)→(12:200)
            if ((int) substr($j, 0, 1) - (int) substr($i, - 1, 1) === 1) {
                $j = (int) (substr($i, - 1, 1) . str_repeat(0, strlen((string) $j) - 1));
                $checker = false;
                continue;
            }
        }
        // $i先頭,$j末尾が揃わないため飛ばす
        $j += 9;
    }
}
echo $result;