등식
시간 제한3초메모리 제한1024 MB
숫자열 사이에 등호를 정확히 k개 넣고 덧셈(또는 곱셈) 기호를 적절히 넣어, 나뉜 모든 블록의 값을 m으로 나눈 나머지가 같게 만드는 문제입니다.
문제
패딩턴은 매일 마멀레이드를 얼마나 끓일지 계산해야 하므로 산술을 잘해야 합니다. 요즘 수감자가 아주 많으니까요!
오늘 카스텟이 패딩턴에게 수학 과제를 여러 개 주었습니다. 각 과제에는 개의 숫자로 이루어진 수열 이 주어집니다. 즉, 모든 에 대해 입니다. 수열과 함께 두 수 와 이 주어집니다.
패딩턴은 인접한 숫자 쌍 사이 일부에 덧셈, 곱셈, 또는 등호 기호를 넣어, 에 대한 나머지 기준으로 올바른 식을 만들어야 합니다. 등호는 정확히 개를 써야 합니다. 인접한 숫자 사이에 기호를 넣지 않을 수도 있으며, 이 경우 그 숫자들은 하나의 수로 붙습니다.
카스텟은 다음과 같이 과제를 검사합니다. 먼저 사이에 등호가 없는 연속된 숫자 묶음을 하나의 수로 합칩니다. 숫자 이 합쳐지면 그 수는 이 됩니다. 그 다음 식을 등호 기준으로 나눠 블록을 만듭니다. 블록은 정확히 개여야 하며, 그렇지 않으면 과제가 인정되지 않습니다. 각 블록의 값을 계산하고, 모든 값을 으로 나눈 나머지가 같으면 과제가 완료됩니다. 카스텟은 너그럽게 채점하므로 앞에 0이 붙은 수도 허용됩니다.
과제는 두 가지 난이도로 나뉩니다. 1단계 과제에서는 덧셈과 등호 기호만 쓸 수 있습니다. 2단계 과제에서는 곱셈 기호도 추가로 쓸 수 있습니다.
입력
첫 줄에는 과제의 수 가 정수 하나로 주어집니다 (). 각 과제는 두 줄로 설명됩니다.
과제의 첫 줄에는 정수 네 개 , , , 가 주어집니다. 각각 숫자열의 길이, 사용할 등호의 개수, 나머지를 비교할 수, 난이도를 뜻합니다 (, , ). 이면 덧셈과 등호 기호만 쓸 수 있습니다. 이면 곱셈 기호도 쓸 수 있습니다.
둘째 줄에는 공백 없이 이어 쓴 숫자 개 가 주어집니다 ().
출력
각 과제마다 답을 한 줄에 하나씩 출력합니다.
해가 없으면 Fail이라는 단어 하나만 출력합니다.
해가 있으면 원래 숫자열의 알맞은 위치에 필요한 덧셈, 곱셈, 등호 기호를 넣어 출력합니다. 식 안에는 구분 기호를 출력하지 마세요. 해가 여러 개라면 그중 아무거나 출력하면 됩니다.