만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

키 생성

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

요약
16진수로 주어진 N 이하의 음이 아닌 정수 가운데 이진 표현에서 1의 개수가 정확히 K개인 수의 개수를 998244353으로 나눈 나머지를 구한다.
난이도

보통10점 중 7점

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

문제

암호 시스템 <>에서 키는 이진 표기법으로 정확히 KK개의 1을 포함하고 주어진 양의 정수 NN을 넘지 않는 음이 아닌 정수이다.

주어진 NN과 KK에 대해 서로 다른 키가 몇 개 존재하는지 구하여라. 답이 매우 클 수 있으므로, 소수 998 244 353998\,244\,353으로 나눈 나머지를 출력하여라.

입력

첫 번째 줄에는 16진법으로 표기된 하나의 정수 NN이 주어진다. 앞에 오는 0은 쓰지 않는다 (1≤N<162501 \le N < 16^{250}). 9보다 큰 숫자는 'A'부터 'F'까지의 대문자 라틴 문자로 나타낸다.

두 번째 줄에는 하나의 정수 KK가 주어진다. KK는 키에서 1인 비트의 수이다 (0≤K≤1 0000 \le K \le 1\,000).

출력

주어진 NN과 KK에 대해 존재하는 서로 다른 키의 수를 소수 998 244 353998\,244\,353으로 나눈 나머지를 하나의 수로 출력한다.

예제2

  1. 예제 1

    입력
    1F
    2
    
    예상 출력
    10
    
  2. 예제 2

    입력
    31
    3
    
    예상 출력
    17