정수 n이 주어지면 값이 n이 되는 식을 하나 만든다. 식에는 숫자 4를 정확히 네 번 쓰고, 네 개의 4 사이에는 *, +, -, / 중에서 고른 이항 연산자를 정확히 세 번 쓴다. 쓸 수 있는 숫자는 4뿐이다. 4를 이어 붙여 44나 444 같은 수를 만드는 것은 허용하지 않는다.
나눗셈은 0 방향으로 소수점 아래를 버리는 정수 나눗셈이라서 4 / 4 / 4의 값은 0.25가 아니라 0이다. 연산자 우선순위는 보통의 사칙연산과 같아서 4 + 4 * 4의 값은 32가 아니라 20이다.
이 규칙으로 만들 수 있는 식은 모두 64개뿐이므로, 어떤 식으로도 만들 수 없는 n이 있다. 예를 들어 n=11을 만드는 식은 없다.
첫 줄에 테스트 케이스의 개수 m이 주어진다. (1≤m≤1000)
이어지는 m개의 줄에 각 테스트 케이스의 정수 n이 하나씩 주어진다. (−1000000≤n≤1000000)
각 테스트 케이스마다 한 줄씩 출력한다.
값이 n이 되는 식이 있으면 그 식을 4 * 4 - 4 * 4 = 0 형식으로 출력한다. 숫자, 연산자, 등호는 각각 공백 하나로 구분한다. 그런 식이 없으면 no solution을 출력한다.
값이 n이 되는 식이 여러 개면 출력할 문자열이 사전순으로 가장 앞서는 식 하나만 출력한다. 네 개의 4는 서로 같으므로, 이는 연산자 세 개를 왼쪽부터 비교해 *, +, -, / 순서로 가장 앞선 것을 고르는 것과 같다.
연산자 자리는 세 곳이고 각 자리의 후보는 네 가지이므로, 서로 다른 식은 64개뿐이다. 64개를 모두 계산해 값마다 사전순으로 가장 앞선 식을 미리 표에 담아 두면 각 테스트 케이스는 표를 한 번 찾는 것으로 끝난다.