가장 큰 수 (어려움)
시간 제한1초메모리 제한1024 MB
주어진 산술식에서 일부 문자를 지워, 여전히 올바른 식이면서 값이 가장 큰 식을 찾습니다.
문제
어린 피터는 폐품 처리장에서 노는 것을 좋아합니다. 오늘 그는 고장 난 공학용 계산기를 찾아 집에 가져왔습니다. 그는 최선을 다해 고쳤지만, 계산기는 아직 제 상태를 되찾지 못했습니다. 아직 작동하는 기능은 다음과 같습니다.
- 계산기의 메모리에 저장된 식이 몇 개 있습니다. 피터는 그중 아무 식이나 화면에 불러올 수 있습니다.
- 방향키와 삭제 키는 아직 작동합니다. 이 키로 피터는 화면에 있는 식에서 문자를 임의의 부분집합만큼 지울 수 있습니다.
- 등호 키는 작동합니다. 피터는 이 키를 눌러 화면의 식을 계산할 수 있습니다.
피터는 큰 수를 좋아합니다. 계산기에 저장된 식마다, 등호를 누른 뒤 얻을 수 있는 가장 큰 수를 구하세요.
유효한 산술식인 문자열 S가 주어집니다. S에서 문자를 (아무것도 지우지 않아도 되지만, 전부 지우면 안 됩니다) 지워서, 결과 문자열 T가 다시 유효한 산술식이고 T의 값이 가능한 한 크도록 하세요.
유효한 식은 다음과 같이 정의합니다.
- 불필요한 앞자리 0이 없는 한, 음이 아닌 정수는 유효한 식입니다.
a가 유효한 식이면(a)도 유효한 식입니다.a가 유효한 식이면-a와+a도 유효한 식입니다.a와b가 유효한 식이면a-b,a+b,a*b도 유효한 식입니다.- 그 밖의 것은 유효한 식이 아닙니다.
계산할 때는 일반적인 연산자 우선순위를 따릅니다.
- 괄호 안을 먼저 계산합니다.
- 다음으로 단항
+와-를 (우결합으로) 적용합니다. - 그다음 곱셈
*를 적용합니다. - 마지막으로 덧셈
+와 뺄셈-를 왼쪽에서 오른쪽으로 적용합니다.
위에서 언급한 것 외에 다른 단항 연산이나 이항 연산은 없습니다. 특히 나눗셈과 거듭제곱은 없습니다.
단항 +와 -는 여러 개가 연달아 올 수 있습니다. 예를 들어 1*(2+3*-+-4)는 유효한 식이며, -+-4는 4, 3에 4를 곱하면 12, 2에 12를 더하면 14, 1에 14를 곱하면 14로 계산됩니다.
불필요한 앞자리 0은 허용되지 않습니다. 예를 들어 4-007은 유효한 식이 아닙니다.
입력
입력 파일의 첫 줄에는 테스트 케이스의 개수를 나타내는 정수 t가 주어집니다. 각 테스트 케이스 앞에는 빈 줄이 하나 있습니다.
각 테스트 케이스는 유효한 산술식 S가 한 줄에 주어집니다.
출력
각 테스트 케이스마다, T가 S의 부분 수열이고 T의 값이 가능한 최댓값이 되도록 하는 유효한 산술식 T를 한 줄에 출력하세요. 답이 여럿이면 그중 아무 것이나 출력해도 됩니다.
제한
t = 1000
각 식의 길이는 1 이상 1000 이하입니다.