시간 제한
메모리 제한
시간 제한
2초
메모리 제한
128 MB
민식이는 N개의 레벨로 이루어진 크리스마스 트리를 장식하려고 한다. 레벨은 위에서부터 1, 2, ..., N으로 번호가 붙어 있으며, 레벨 k에는 정확히 k개의 장난감을 놓아야 한다.
장난감 색은 빨간색, 초록색, 파란색 세 가지다. 한 레벨에서 사용하기로 한 색들이 있다면, 그 레벨에 놓인 각 색의 장난감 개수는 모두 같아야 한다. 예를 들어 레벨 3에서 빨간색 2개와 파란색 1개를 놓는 것은 두 색의 개수가 달라서 불가능하다. 반면 레벨 4에서 빨간색 2개와 파란색 2개를 놓는 것은 가능하다.
같은 레벨 안에서 색의 배치가 달라지면 서로 다른 장식 방법으로 센다. 트리의 크기와 각 색 장난감의 개수가 주어질 때, 트리를 장식하는 서로 다른 방법의 수를 구하시오.
첫째 줄에 트리의 크기 N, 빨간색 장난감의 개수 R, 초록색 장난감의 개수 G, 파란색 장난감의 개수 B가 주어진다.
N은 10보다 작거나 같다. R, G, B는 각각 0 이상 100 이하이다.
첫째 줄에 트리를 장식하는 경우의 수를 출력한다. 주어진 장난감으로 트리를 장식할 수 없으면 0을 출력한다.
정답은 2^63 - 1보다 작거나 같다.