완벽한 집합의 개수
시간 제한2초메모리 제한512 MB
0부터 k까지의 정수 중에서 비트 XOR 연산에 닫혀 있는 집합의 개수를 10^9+7로 나눈 나머지를 구한다.
문제
음이 아닌 정수로 이루어진 비어 있지 않은 집합 가 다음 조건을 만족하면 완벽한 집합이라고 한다.
이고 인 임의의 두 정수 , 에 대해 (와 는 같아도 된다) 이다. 여기서 는 비트 단위 배타적 논리합(XOR)이다.
정수 가 주어질 때, 모든 원소가 이하인 완벽한 집합의 개수를 구하라.
입력
첫째 줄에 정수 가 주어진다. ()
출력
모든 원소가 이하인 완벽한 집합의 개수를 로 나눈 나머지를 첫째 줄에 출력한다.
힌트
이면 완벽한 집합은 , 의 두 개다.
이면 , , , , , 의 여섯 개다.