항체 개수 세기
시간 제한1초메모리 제한512 MB
카파와 람다 경쇄, 중쇄의 유전자 조각 개수가 주어질 때 만들 수 있는 항체 분자의 수를 구합니다.
문제
면역글로불린은 항체라고도 불리는 단백질 분자이다. 항체는 면역 반응에서 핵심 역할을 맡는다. 항체는 세균이나 바이러스 같은 유해한 외부 물질을 탐지하고 제거를 돕는다. 외부 분자마다 그와 결합하는 고유한 종류의 항체가 있다. 위협이 될 수 있는 물질이 매우 많으므로, 모든 위협을 무력화하려면 면역글로불린 종류도 엄청나게 많아야 한다. 필요한 종류가 너무 많아서 하나하나를 DNA에 담을 수는 없다. 다행히 해결 방법이 있다.
면역글로불린은 B 림프구라는 면역 세포가 DNA 정보, 즉 유전자를 바탕으로 만든다. 면역글로불린 유전자는 블록을 조립하듯 DNA 조각들을 조합해 만들어진다. 각 조각은 여러 변이형으로 존재하며, 면역글로불린 분자의 가변 영역을 담당한다. 이 과정을 체세포 재조합이라고 한다.
면역글로불린 분자는 동일한 중쇄 두 개와 동일한 경쇄 두 개로 이루어진다. 경쇄에는 구조가 비슷한 두 종류, κ와 λ가 있다. 두 경쇄 모두 V와 J라는 가변 영역을 두 개씩 가진다. 가변 영역 하나를 만들려면 여러 변이형 가운데 유전자 조각을 하나 고른다. κ 경쇄의 V 영역과 J 영역은 각각 변이형과 변이형에서, λ 경쇄의 V 영역과 J 영역은 각각 변이형과 변이형에서 고른다.
중쇄는 한 종류뿐이며 가변 영역이 V, D, J 세 개다. 각 영역은 , , 변이형에서 유전자 조각을 하나씩 골라 만든다.

주어진 , , , , , , 값에 대해 만들 수 있는 면역글로불린 분자가 몇 가지인지 세어야 한다.
입력
첫째 줄에 κ 경쇄의 V와 J 가변 영역에 대한 유전자 조각 변이형 개수 , 가 주어진다 ().
둘째 줄에 λ 경쇄의 V와 J 가변 영역에 대한 유전자 조각 변이형 개수 , 가 주어진다 ().
셋째 줄에 중쇄의 V, D, J 가변 영역에 대한 유전자 조각 변이형 개수 , , 가 주어진다 ().
출력
만들 수 있는 면역글로불린 변이체의 개수를 정수 하나로 출력한다.
힌트
체세포 재조합은 여러 세균과 바이러스에 맞서는 강력한 방어 기작이지만, 유일한 기작은 아니다. 외부 침입을 막는 다른 방법은 이 문제의 범위를 벗어난다.