세 개의 공
시간 제한5초메모리 제한1024 MB
n차원 초입방체에서 세 구의 반지름과 중심이 주어질 때, 적어도 하나의 구에 속하는 꼭짓점의 수를 10^9+7로 나눈 나머지로 구합니다.
문제
중앙 유럽 지역 대회(CERC)는 흥미롭고 늘 잘 준비된 문제로 알려져 있다. 그중 문제 하나가 세 공의 합의 부피를 구하는 것이었다. 10년 전에는 도전적인 문제였을지 모르지만, 지금의 참가자가 이렇게 쉽고 표준적인 문제에 시간을 쓸 필요는 없다. 이 문제에서는 3차원 공간 대신 차원 초입방체를 사용한다. 먼저 정의를 살펴보자.
차원 초입방체는 개의 꼭짓점을 가진다. 각 꼭짓점은 개의 좌표로 이루어진 열이고, 각 좌표는 또는 이다. 예를 들어 3차원 초입방체의 꼭짓점은 000, 001, 010, 011, 100, 101, 110, 111의 8개다.
반지름이 이고 중심이 인 공은 꼭짓점 로부터 거리가 이하인 꼭짓점들의 집합이다. 거리는 맨해튼 거리로 잰다. 꼭짓점 는 와 가 서로 다른 위치가 개 이하일 때, 그리고 그때에만 공에 속한다.
세 공의 합에 속한 꼭짓점의 개수, 즉 세 공 중 적어도 하나에 속하는 꼭짓점의 수를 구하라. 답은 로 나눈 나머지로 출력한다.
입력
첫째 줄에 차원의 수 ()이 주어진다.
이어지는 세 줄에는 공을 하나씩 기술한다. 각 줄에는 반지름 ()와 중심을 나타내는 길이 의 이진 문자열 가 주어진다.
출력
세 공의 합에 속한 꼭짓점의 개수를 로 나눈 나머지로 한 줄에 출력한다.
힌트
첫 번째 샘플에 대한 설명이다. 3차원 초입방체는 정육면체다. 아래 그림은 각 공에 속하는 꼭짓점을 보여준다. 회색 원은 공의 중심이다.
