import
java.util.*;
import
java.util.function.*;
class
GFG {
public
static
Function<String, String> maketrans(
final
String from,
final
String to) {
final
Map<Character, Character> map =
new
HashMap<>();
final
int
length = Math.min(from.length(), to.length());
for
(
int
i =
0
; i < length; i++) {
map.put(from.charAt(i), to.charAt(i));
}
return
(
final
String s) -> {
final
StringBuilder builder =
new
StringBuilder();
for
(
final
char
c : s.toCharArray()) {
final
Character mappedC = map.get(c);
if
(mappedC !=
null
) {
builder.append(mappedC);
}
else
{
builder.append(c);
}
}
return
builder.toString();
};
}
public
static
int
totalUpsideNumber(
final
int
L,
final
int
R) {
final
String[] s1 = {
"0"
,
"1"
,
"6"
,
"8"
,
"9"
};
final
Function<String, String> translate = maketrans(
"69"
,
"96"
);
int
result =
0
;
for
(
int
i = L; i < R; i++) {
final
String num = Integer.toString(i);
if
(Arrays.asList(s1).contains(num)) {
final
String reversedNum =
new
StringBuilder(num).reverse().toString();
final
String temp = translate.apply(reversedNum);
if
(num.equals(temp)) {
result++;
}
}
}
return
result;
}
public
static
void
main(
final
String[] args) {
final
int
L =
0
;
final
int
R =
10
;
final
int
ans = totalUpsideNumber(L, R);
System.out.println(ans);
}
}