아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

John의 수학 문제

시간 제한1초메모리 제한1024 MB

요약
정수 N에서 0개 이상의 자릿수를 지워 순서를 유지한 채 만들 수 있는 모든 수의 합을 998244353으로 나눈 나머지를 구한다. 같은 수가 여러 방법으로 만들어지면 방법마다 한 번씩 더한다.
난이도

보통10점 중 7점

유형
동적 계획법, 조합론, 수학, 구현
정답자
아직 제출이 없습니다

문제

Farmer John은 그의 직업 특성상 많은 수학 문제를 만든다. 이 문제는 간단한 수학 문제이다. 여러분은 이 수학 문제를 해결해야 한다.

정수 NN이 주어진다. 여러분은 NN에서 0개 이상의 숫자를 제거하고, 남은 숫자들을 순서대로 이어붙여 새로운 수를 만들고자 한다. 단, 모든 숫자를 다 제거할 수는 없다.

예를 들어, N=121N = 121이라면, 만들 수 있는 새로운 수로는 1, 2, 11, 12, 21, 121이 있다.

만들 수 있는 모든 새로운 수의 합을 구해보자.

입력

정수 NN이 주어진다. 단, NN은 0으로 시작하지 않는다.

출력

만들 수 있는 모든 새로운 수의 합을 998 244 353(=119⋅223+1)998\,244\,353(=119\cdot2^{23}+1)으로 나눈 나머지를 출력한다. 단, 하나의 수를 만들 수 있는 방법이 여러 가지라면 여러 번 더해야 하며, 수 맨 앞에 오는 0은 무시하고 더한다. 예를 들어, N=1 101N = 1\,101일 때, 11은 3번 더해야 하며, 출력해야 하는 값은 1 5811\,581이다.

제한

  • 1≤N<10250 0001 \le N < 10^{250\,000}

예제2

  1. 예제 1

    입력
    7
    
    예상 출력
    7
    
  2. 예제 2

    입력
    31
    
    예상 출력
    35