월쉬 행렬
시간 제한1초메모리 제한128 MB
크기가 2^60까지 커질 수 있는 월시 행렬에서 한 행의 S열부터 E열까지의 합을 구한다.
문제
월쉬 행렬(Walsh matrix)은 크기가 2의 거듭제곱인 정사각 행렬로, 모든 원소가 또는 인 행렬이다.
이 행렬의 가장 큰 특징은 서로 다른 두 행(또는 서로 다른 두 열)의 스칼라 곱, 즉 같은 위치의 원소끼리 곱해 모두 더한 값이 항상 이라는 점이다.
크기가 인 월쉬 행렬은 원소가 하나뿐이며 그 값은 이다. 크기가 인 월쉬 행렬은 크기가 인 월쉬 행렬 네 개를 이어 붙여 만든다.
즉 왼쪽 위, 오른쪽 위, 왼쪽 아래 세 블록에는 을 그대로 넣고, 오른쪽 아래 블록에는 모든 원소의 부호를 뒤집은 을 넣는다.
행 번호는 위에서부터 로, 열 번호는 왼쪽에서부터 로 매긴다. 정수 가 주어질 때, 크기가 인 월쉬 행렬에서 행의 열부터 열까지의 원소를 모두 더한 값을 구하는 프로그램을 작성하시오.
입력
입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 네 정수 로 이루어진 한 줄이다. (, , , )
마지막 줄에는 이 네 개 주어지며, 이 줄은 처리하지 않는다.
출력
각 테스트 케이스마다 구한 합을 한 줄에 하나씩 출력한다.