import sys input = sys.stdin.readline def read_values(): return tuple(map(int, input().split())) def read_list(): return list(read_values()) def z_algorithm(S): A = [0] * len(S) A[0] = len(S) i = 1 j = 0 while i < len(S): while i + j < len(S) and S[j] == S[i + j]: j += 1 A[i] = j if j == 0: i += 1 continue k = 1 while i + k < len(S) and k + A[k] < j: A[i + k] = A[k] k += 1 i += k j -= k return A def main(): s=input().strip() n=len(s) a=z_algorithm(s) mod=998244353 ans = mod - n + 1 add = 10 for i in range(n-1,-1,-1): if a[i] + i >= n: ans += add ans %= mod add *= 10 add %= mod print(ans) if __name__ == "__main__": main()