Codeforces Round 914 (Div. 2) |
---|

Finished |

Virtual contest is a way to take part in past contest, as close as possible to participation on time. It is supported only ICPC mode for virtual contests.
If you've seen these problems, a virtual contest is not for you - solve these problems in the archive.
If you just want to solve some problem from a contest, a virtual contest is not for you - solve this problem in the archive.
Never use someone else's code, read the tutorials or communicate with other person during a virtual contest.

constructive algorithms

data structures

divide and conquer

greedy

implementation

sortings

*1800

No tag edit access

The problem statement has recently been changed. View the changes.

×
D2. Set To Max (Hard Version)

time limit per test

4 secondsmemory limit per test

256 megabytesinput

standard inputoutput

standard outputThis is the hard version of the problem. The only differences between the two versions of this problem are the constraints on $$$n$$$ and the time limit. You can make hacks only if all versions of the problem are solved.

You are given two arrays $$$a$$$ and $$$b$$$ of length $$$n$$$.

You can perform the following operation some (possibly zero) times:

- choose $$$l$$$ and $$$r$$$ such that $$$1 \leq l \leq r \leq n$$$.
- let $$$x=\max(a_l,a_{l+1},\ldots,a_r)$$$.
- for all $$$l \leq i \leq r$$$, set $$$a_i := x$$$.

Determine if you can make array $$$a$$$ equal to array $$$b$$$.

Input

Each test contains multiple test cases. The first line contains an integer $$$t$$$ ($$$1 \leq t \leq 10^4$$$) — the number of test cases. The description of the test cases follows.

The first line of each test case contains a single integer $$$n$$$ ($$$1 \le n \le 2 \cdot 10^5$$$) — the length of the arrays.

The second line contains $$$n$$$ integers $$$a_1, a_2, \ldots, a_n$$$ ($$$1 \le a_i \le n$$$) — the elements of array $$$a$$$.

The third line contains $$$n$$$ integers $$$b_1, b_2, \ldots, b_n$$$ ($$$1 \le b_i \le n$$$) — the elements of array $$$b$$$.

It is guaranteed that the sum of $$$n$$$ over all test cases does not exceed $$$2 \cdot 10^5$$$.

Output

For each test case, output "YES" (without quotes) if you can make $$$a$$$ into $$$b$$$ using any number of operations, and "NO" (without quotes) otherwise.

You can output "YES" and "NO" in any case (for example, strings "yES", "yes" and "Yes" will be recognized as a positive response).

Example

Input

551 2 3 2 41 3 3 2 453 4 2 2 43 4 3 4 453 2 1 1 13 3 3 2 221 11 231 1 22 1 2

Output

YES NO YES NO NO

Note

In the first test case, we can achieve array $$$b$$$ by applying a single operation: $$$(l,r)=(2,3)$$$.

In the second test case, it can be shown we cannot achieve array $$$b$$$ in any amount of operations.

In the third test case, we can achieve array $$$b$$$ by applying two operations: $$$(l,r)=(2,5)$$$. followed by $$$(l,r)=(1,3)$$$.

In the fourth and fifth test cases, it can be shown we cannot achieve array $$$b$$$ in any amount of operations.

Codeforces (c) Copyright 2010-2024 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Apr/18/2024 10:35:19 (i1).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|