write a go solution for Description: Kristina has two arrays a and b, each containing n non-negative integers. She can perform the following operation on array a any number of times: - apply a decrement to each non-zero element of the array, that is, replace the value of each element a_i such that a_i>0 with the value a_i-1 (1<=i<=n). If a_i was 0, its value does not change. Determine whether Kristina can get an array b from an array a in some number of operations (probably zero). In other words, can she make a_i=b_i after some number of operations for each 1<=i<=n? For example, let n=4, a=[3,5,4,1] and b=[1,3,2,0]. In this case, she can apply the operation twice: - after the first application of the operation she gets a=[2,4,3,0]; - after the second use of the operation she gets a=[1,3,2,0]. Thus, in two operations, she can get an array b from an array a. Input Format: The first line of the input contains an integer t (1<=t<=10^4) —the number of test cases in the test. The descriptions of the test cases follow. The first line of each test case contains a single integer n (1<=n<=5*10^4). The second line of each test case contains exactly n non-negative integers a_1,a_2,...,a_n (0<=a_i<=10^9). The third line of each test case contains exactly n non-negative integers b_1,b_2,...,b_n (0<=b_i<=10^9). It is guaranteed that the sum of n values over all test cases in the test does not exceed 2*10^5. Output Format: For each test case, output on a separate line: - YES, if by doing some number of operations it is possible to get an array b from an array a; - NO otherwise. You can output YES and NO in any case (for example, strings yEs, yes, Yes and YES will be recognized as a positive response). Note: The first test case is analyzed in the statement. In the second test case, it is enough to apply the operation to array a once. In the third test case, it is impossible to get array b from array a.. Output only the code with no comments, explanation, or additional text.