Problem:
Score : 200 points

Problem Statement

Find the number of palindromic numbers among the integers between A and B (inclusive).
Here, a palindromic number is a positive integer whose string representation in base 10 (without leading zeros) reads the same forward and backward.

Constraints

10000 \leq A \leq B \leq 99999

All input values are integers.

Input

Input is given from Standard Input in the following format:

A B

Output

Print the number of palindromic numbers among the integers between A and B (inclusive).

Sample Input 1

11009 11332

Sample Output 1

4

There are four integers that satisfy the conditions: 11011, 11111, 11211 and 11311.

Sample Input 2

31415 92653

Sample Output 2

612

Solution in Rust (1.15.1) (judge verdict: Accepted)

use std::io::*;

fn read<T: std::str::FromStr>() -> T {
    let stdin = stdin();
    let mut buf = String::new();
	stdin.lock().read_line(&mut buf);
	buf.trim().parse().ok().unwrap()
}

fn read_vec<T: std::str::FromStr>() -> Vec<T> {
	read::<String>().trim().split_whitespace()
        .map(|w| w.parse().ok().unwrap()).collect()
}

fn is_palindrome(n:u32) -> bool {
    let mut dig:Vec<u32> = Vec::new();
    let mut rev:Vec<u32> = Vec::new();
    let mut m = n;
    while m > 0 {
        dig.push(m % 10);
        rev.push(m % 10);
        m /= 10;
    }
    rev.reverse();
    dig.iter().zip(rev.iter()).all(|(x,y)| x == y)
}

fn main() {
    let v = read_vec::<u32>();
    let mut count = 0;
    for n in v[0]..v[1]+1 {
        if is_palindrome(n) {
            count+=1;
        }
    }
    println!("{}",count);
}