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 Java8 (OpenJDK 1.8.0) (judge verdict: Accepted)

import java.util.Scanner;

public class Main {
	public static void main(String[] args){



		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();

		long counter =0;

		int big = (int) Math.log10(n);


		for(int i = 1;i<10;i++) {
			for(int j=1;j<10;j++) {
				int a = 0;
				int b = 0;
				if(i==j&&i<=n) {
					a++;
					b++;
				}
				for(int k = 0;k<big-1;k++) {
					a+=Math.pow(10,k);
					b+=Math.pow(10,k);
				}
				int aa = (int) (i*Math.pow(10, big)+j);
				
				if(n-aa>=0) {
					a++;
					int niner = 0;
					for(int k =1;k<big;k++) {
						niner += (int) (9*Math.pow(10,k));
					}
					if(n>=niner+aa) {
						a+=niner/10;
					}else {
						a+=(n-aa)/10;
					}
				}

				int bb = (int) (j*Math.pow(10, big)+i);
				if(n-bb>=0) {
					b++;
					int niner = 0;
					for(int k =1;k<big;k++) {
						niner += (int) (9*Math.pow(10,k));
					}
					if(n>=niner+bb) {
						b+=niner/10;
					}else {
						b+=(n-bb)/10;
					}
				}
				counter+=(long)a*b;
				//if(i!=j)counter+=(long)a*b;
			}
		}


		System.out.println(counter);

	}

}
/*
class City{
	int order;
	int prefecture;
	int year;
	int number;
	City(int order,int prefecture, int year){
		this.order = order;
		this.prefecture = prefecture;
		this.year = year;
	}
}
*/