






def   snake_case		(				UpperCAmelCase						:							int = 10_00 ):
				A									=   [0, 3, 3, 5, 4, 4, 3, 5, 5, 4, 3, 6, 6, 8, 8, 7, 7, 9, 8, 8]
				# number of letters in twenty, thirty, ..., ninety (0 for numbers less than
				# 20 due to inconsistency in teens)
				A									=   [0, 0, 6, 6, 5, 5, 5, 7, 6, 6]

				A									=   0

				for i in range(1,    n + 1 ):
								if i < 10_00:
												if i >= 1_00:
																# add number of letters for "n hundred"
																count += ones_counts[i // 1_00] + 7

																if i % 1_00 != 0:
																				# add number of letters for "and" if number is not multiple
																				# of 100
																				count += 3

												if 0 < i % 1_00 < 20:
																# add number of letters for one, two, three, ..., nineteen
																# (could be combined with below if not for inconsistency in
																# teens)
																count += ones_counts[i % 1_00]
												else:
																# add number of letters for twenty, twenty one, ..., ninety
																# nine
																count += ones_counts[i % 10]
																count += tens_counts[(i % 1_00 - i % 10) // 10]
								else:
												count += ones_counts[i // 10_00] + 8
				return count


if __name__ == "__main__":
					print(solution(int(input().strip())))













def   snake_case		(				UpperCAmelCase						:							set,    UpperCAmelCase						:							set ):
				assert isinstance(UpperCAmelCase,    UpperCAmelCase ), f'The input value of [set_a={set_a}] is not a set'
				assert isinstance(UpperCAmelCase,    UpperCAmelCase ), f'The input value of [set_b={set_b}] is not a set'

				return {a + b for a in set_a for b in set_b}


if __name__ == "__main__":
					from doctest import testmod

					testmod()





