식
시간 제한2초메모리 제한1024 MB
정수와 덧셈, 뺄셈, 곱셈 기호로 이루어진 식에서 숫자를 바꿀 때마다 식 값이 홀수인지 짝수인지 구합니다.
문제
내일 프로그래밍 학교의 산수 수업 훈련 중 하나는 주어진 산술식의 값을 머릿속으로만 빠르게 계산하는 것이다. 식에는 양의 정수만 있고 괄호는 없으며, 연산은 덧셈, 뺄셈, 곱셈 세 가지뿐이다. 따라서 결과는 항상 정수가 보장된다. 입문 단계에서 학생은 결과의 홀짝만 구하면 된다. 결과는 홀수인가, 짝수인가?
안타깝게도 칠판에 식을 쓰는 교수는 꽤 건망증이 심하다. 교수는 학생들이 계산하는 중에도 식의 여러 숫자를 자주 다시 쓴다. 대개 이렇게 숫자를 고치면 식 전체의 값이 바뀌어서, 학생들은 처음부터 다시 계산해야 한다.
학생들은 이를 도울 프로그램을 만들기로 했다. 입력은 원래 식과 이어지는 값 변경 목록이다. 변경마다 프로그램은 수정된 식의 값을 계산하는데, 가능하면 처음부터 다시 계산하지 않고 이전 결과를 활용한다.
입력
첫 줄에 식에 있는 정수의 개수 과 이후 값 변경 횟수 이 주어진다(). 둘째 줄에는 공백으로 구분된 개의 토큰이 주어진다. 각 토큰은 정수 ()이거나 +, -, *(덧셈, 뺄셈, 곱셈) 중 하나이다. 다음 개의 줄 각각에는 공백으로 구분된 두 수 ()와 ()가 주어지며, 식의 번째 수가 로 바뀐다는 뜻이다.
변경은 순서대로 적용된다. 다음 변경이 다른 위치를 가리키면 이전 변경은 그대로 유지된다.
출력
개의 줄을 출력한다. 번째 줄에는 처음 번의 변경을 적용한 뒤 식의 값이 짝수이면 even, 홀수이면 odd를 출력한다. 첫 줄은 변경 전의 식에 대한 답이다. 식은 일반적인 연산자 우선순위를 따르며, 곱셈이 덧셈과 뺄셈보다 먼저 계산된다.