def create_S(): current = [] num = 1 length = 0 while length < 190: s = str(num) remaining = 190 - length if len(s) <= remaining: current.append(s) length += len(s) else: current.append(s[:remaining]) length = 190 num += 1 return ''.join(current) def multiply_str_num(s, n): if n == 0: return '0' reversed_s = s[::-1] result = [] carry = 0 for ch in reversed_s: digit = int(ch) product = digit * n + carry carry = product // 10 result.append(product % 10) if carry != 0: result.append(carry) # Convert to string and remove leading zeros result_str = ''.join(map(str, reversed(result))).lstrip('0') return result_str if result_str else '0' S = create_S() N = int(input()) product_str = multiply_str_num(S, N) L = len(product_str) if L > 190: integer_part = product_str[:-190] fractional_part = product_str[-190:] else: integer_part = '0' fractional_part = product_str.zfill(190) print(f"{integer_part}.{fractional_part}")