펩타이드 결합이 많으면 poly펩타이드이다.
그러면 폴리펩타이드가 많으면 poly-poly펩타이드인가?
생물의 유전 정보는 주로 DNA에 저장되고, 전사와 번역을 통해 발현된다. 이 문제에서는 mRNA를 폴리펩타이드로 바꾸는 번역을 해볼 것이다.
번역은 개시 코돈에서 시작되고, 종결 코돈에서 끝난다. 하지만 이 문제에서는 종결 코돈에 한번 도달하면 다음 개시 코돈으로 이동하여 새로운 폴리펩타이드를 만들기 시작한다.
개시 코돈은 폴리펩타이드에 메싸이오닌을 부착하는 역할도 하므로, 두 개시 코돈이 종결 코돈을 사이에 두지 않고 존재할 수 있음에 유의하라. 두 종결 코돈 역시 개시 코돈을 사이에 두지 않고 존재할 수 있다.
mRNA의 염기 서열을 나타내는 문자열이 주어진다. 이 mRNA를 개시 코돈부터 종결 코돈까지 번역할 것이다.
몇 개의 폴리펩타이드가 생성되는지, 그리고 각 폴리펩타이드의 길이는 얼마인지 구해 보자.
단, 폴리펩타이드의 길이는 폴리펩타이드가 포함하는 아미노산의 개수로 정의한다. 우리가 사용하는 개시복합체에는 심각한 결함이 있기 때문에 코돈은 반드시 앞에서부터 3개씩만 끊어서 읽을 수 있다. 즉, 주어진 문자열의 2, 3, 4번째 문자가 각각 'A', 'U', 'G'이더라도 이를 개시코돈으로 인식할 수 없으며, 1, 2, 3번째 문자가 각각 'A', 'U', 'G'인 경우에는 인식할 수 있다.
Input
첫 번째 줄에 'A', 'U', 'C', 'G' (따옴표 제외)로만 이루어진 문자열이 5' 말단부터 3' 말단 순서대로 주어진다.
주어지는 문자열의 길이는 이하의 양의 정수이며, 항상 의 배수이다.
또한, 개시 코돈이 등장한 이후 종결 코돈이 등장하지 않은 채 mRNA 문자열이 끝나지 않는다.
Output
첫째 줄에 mRNA를 5' 말단부터 3' 말단까지 번역할 때, 생성되는 폴리펩타이드의 개수를 출력한다.
둘째 줄에 먼저 생성된 폴리펩타이드부터 나중에 생성된 폴리펩타이드 순서대로 폴리펩타이드의 길이를 공백으로 구분하여 출력한다.
만약 폴리펩타이드가 하나도 생성되지 않는다면 을 출력한 뒤 아무것도 추가로 출력하지 않는다.
Constraints
개시 코돈은 AUG, 종결 코돈은 UAG, UAA, UGA이다.