갈래 제곱
시간 제한1초메모리 제한1024 MB
두 번 적분된 식과 다항식이 주어졌을 때, 다항식을 두 번 적분하면 그 식이 되는지 판정합니다.
문제
미적분을 하던 다익망가는 견딜 수 없는 난이도에 문득 인테그랄()이 양갈래 미소녀가 아닐까 하는 망상에 빠졌다. 그 망상의 힘으로 인테그랄 양을 만들어냈다.
다익망가는 인테그랄 양의 탄생을 무척 좋아해서 그 특성을 분석하기 시작했다. 인테그랄 양은 주변에 보이는 수식을 안아준다. 그러면 그 수식은 기쁨에 겨워 두 번 적분된다. 두 갈래를 한 번씩 적분한다는 뜻으로, 이 수식을 양갈래 갈래 제곱식이라고 부르기로 했다.
인테그랄 양이 하는 적분은 부정적분이다. 두 번 적분한다는 것은 부정적분을 두 번 한다는 뜻이다. 첫 번째 적분에서는 주어진 다항식을 적분한 결과에 적분 상수 를 더한다. 두 번째 적분에서는 다른 적분 상수 를 더한다.
문제는 인테그랄 양이 수식을 너무 자주 안아서 원래 수식을 알 수 없게 되었다는 것이다. 원래 수식과 갈래 제곱식이 뒤섞였고, 인테그랄 양은 죄책감에 우울해하고 있다.
다익망가는 인테그랄 양이 우울해하는 모습을 보고 싶지 않다. 그래서 갈래 제곱식과 임의의 수식 하나를 골라, 그 수식이 갈래 제곱식이 되기 전의 올바른 수식인지 알아보려 한다. 하지만 다익망가는 수학은 싫다며 도망가 버렸다.
다익망가를 도와 인테그랄 양을 위로해 보자. 수식을 안았을 때 갈래 제곱식이 되는지 판별하면 된다.
입력
첫째 줄에 테스트 케이스의 개수 ()가 주어진다. 각 테스트 케이스에는 갈래 제곱식 와 다익망가가 고른 임의의 다항식 이 공백을 사이에 두고 주어진다.
와 은 <항><항><항><항>...<항> 형식으로 주어진다.
각 <항>은 <부호><계수>x^<차수> 형식이다.
- <차수>가 이면 x^<차수>를 생략한다.
- <차수>가 이면 ^<차수>를 생략한다.
- <계수>가 이면 <계수>를 생략한다.
- 와 의 첫 번째 항의 <부호>가 +이면 <부호>를 생략한다.
- 의 항에서 <계수>가 C이면 <부호>는 +, <차수>는 1이다.
- 의 항에서 <계수>가 D이면 <부호>는 +, <차수>는 0이다.
- 이는 현재 다항식의 <차수>차 항의 계수가 <부호><계수>임을 뜻한다.
<차수>는 이상 이하의 정수이다.
- 와 의 항은 차수가 감소하는 순서로 주어진다.
- 한 다항식에 같은 차수를 가지는 두 항은 없다.
<부호>는 + 또는 -이다.
<계수>는 보다 큰 정수 또는 유리수, C 또는 D 중 하나이다.
- 의 항에서 <계수>는 C나 D가 아니다.
- 의 항에서 <계수>는 이하이다.
- 의 항에서 C나 D가 아닌 <계수>는 이하이다.
- <계수>가 유리수이면 <분자>/<분모> 형식으로 주어진다.
- 의 항에서 <분자>는 이상 이하의 정수이다.
- 의 항에서 <분자>는 이상 이하의 정수이다.
- <분모>는 이상 이하의 정수이다.
- <분자>와 <분모>의 최대공약수는 이다. 즉, 기약분수이다.
출력
각 테스트 케이스에 대해, 의 원래 식이 이라면 Yes를 출력한다. 그렇지 않다면 No를 출력한다.
힌트
여기서 사용하는 적분법은 이다.