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

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

XOR-ABC

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

요약
A, B, C가 1 이상 2^K-1 이하이고 A < B < C이며 A xor B = C를 만족하는 세 수의 조합 수를 1000003으로 나눈 나머지로 구합니다. K는 최대 10^18입니다.
난이도

어려움10점 중 8점

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

문제

xor\mathrm{xor} 연산은 두 수의 이진수 표현에서 각 자릿수를 비교해, 값이 같으면 00, 다르면 11을 계산한다.

다음은 1616자리 이진수 A=12A=12, B=10B=10, R=AR = A xor\mathrm{xor} BB에 대한 예시이다.

index16151413121110987654321
AA0000000000001100
BB0000000000001010
RR0000000000000110

AA와 BB가 모두 1616자리 이진수이므로, RR 또한 1616자리 이진수이다.

RR의 44번째 비트는 AA와 BB의 44번째 비트가 모두 11로 같으므로 00이다.

RR의 22번째 비트는 AA와 BB의 22번째 비트가 각각 00, 11로 다르므로 11이다.

모든 자릿수에 대해 연산을 수행하면 RR은 위와 같이 계산된다.

KK자리 이진수 AA, BB, CC에 대해 1≤A<B<C≤2K−11 \leq A < B < C \leq 2^K - 1이고 AA xor\mathrm{xor} B=CB = C인 (A,B,C)(A,B,C) 쌍의 개수를 구하시오.

입력

첫째 줄에 KK가 주어진다. (2≤K≤10182 \leq K \leq 10^{18})

출력

주어진 조건을 만족하는 (A,B,C)(A,B,C) 쌍의 개수를 10000031000003으로 나눈 나머지를 출력한다. 10000031000003은 소수이다.

예제3

  1. 예제 1

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

    입력
    4
    
    예상 출력
    35
    
  3. 예제 3

    입력
    18
    
    예상 출력
    80692