어느 곳엔가 n차원 공간이 있었고, 그 안에는 이상한 행성이 하나 있었다. 이 행성의 특이한 점 중 하나는 그 모양이었는데, 한 변의 길이가 1인 n차원 초입방체(hypercube)였다. 행성의 각 꼭짓점에는 이상한 도시가 하나씩 자리 잡고 있었다.
이 행성의 영토는 서로 적대하는 세 왕국이 나누어 다스리고 있었다. 그런데 몇몇 도시가 독립을 선언했는데, 이런 도시를 중립 도시라고 부르자. i번째 도시는 d1(i)=d2(i)=d3(i)일 때 중립이다. 여기서 dj(i)는 i번째 도시와 j번째 왕국 수도 사이의 거리를 뜻한다. 모든 거리는 맨해튼 거리(택시 거리)로 잰다.
각 도시(꼭짓점)의 좌표는 모두 0 또는 1이므로, 두 도시 사이의 맨해튼 거리는 좌표가 서로 다른 자리의 개수와 같다.
중립 도시의 개수를 구하여라. 답이 매우 클 수 있으므로 109+7로 나눈 나머지를 출력한다.
입력은 세 줄로 이루어진다. 각 줄에는 한 왕국 수도의 좌표가 길이 n인 이진 문자열로 주어진다 (1≤n≤105). 세 줄은 각각 첫 번째, 두 번째, 세 번째 왕국의 수도를 나타낸다.
중립 도시의 개수를 109+7로 나눈 나머지를 한 줄에 출력한다.