XOR Hashing
시간 제한1초메모리 제한1024 MB
0 이상 2^N 미만의 정수 x, y로 이루어진 모든 점 (x, y)에 x XOR y 값이 부여되어 있을 때, M번 중복을 허용해 균등하게 점을 뽑아 같은 해시 값이 나올 확률을 구한다.
문제
좌표와 좌표가 이상 미만 정수인 평면 좌표상의 모든 점에 각각 좌표와 좌표를 XOR한 값을 부여하자. 이처럼 어떤 데이터를 다른 데이터로 매핑하는 것을 해싱, 해싱된 데이터의 값을 해시 값이라고 한다.
값이 부여된 좌표 중 하나를 중복을 허용하여 균등한 확률로 번 선택할 때, 같은 해시 값이 존재할 확률을 구하여라.
입력
첫 번째 줄에 정수 , 이 공백으로 구분되어 주어진다.
출력
같은 해시 값이 존재할 확률이 이고 서로소인 음이 아닌 두 정수 , 에 대하여 일 때, 을 출력한다. 은 의 모듈러 곱셈 역원이다.
구해야 하는 확률이 항상 유리수임을 증명할 수 있다.