Biến đổi

View as PDF



Problem types
Points: 300 (p) Time limit: 1.0s Memory limit: 1023M Input: stdin Output: stdout

Cho trước hai dãy số, dãy số \(a\) gồm \(n\) số nguyên và dãy số \(b\) gồm \(m\) số nguyên.

Bạn có thể làm hành động \(1\) bất kỳ số lần và hành động \(2\) bất kỳ số lần:

  • Hành động \(1\): Chọn phần tử \(i\) của dãy \(a\) \((1 \leq i < n)\). Sau đó cộng \(a_{i+1}\) vào \(a_i\) và xóa phần tử thứ \(i+1\).

  • Hành động \(2\): Chọn phần tử \(i\) của dãy \(b\) \((1 \leq i < m)\). Sau đó cộng \(b_{i+1}\) vào \(b_i\) và xóa phần tử thứ \(i+1\).

Nhiệm vụ của của bạn là kiểm tra có cách nào để làm cho hai dãy số \(a\)\(b\) giống hệt hau. Biết rằng nếu dãy \(a\) giống hệt dãy \(b\) thì độ dài của dãy \(a\) bằng độ dài của dãy \(b\) và với từng vị trí \(i\) của dãy \(a\) thì \(a_i\) = \(b_i\).

Input

  • Dòng đầu tiên chứa số nguyên dương \(n \ (1 \leq n \leq 10^5)\) - là số phần tử của mảng a.
  • Dòng thứ hai chứa \(n\) số nguyên dương, số thứ \(i\)\(a_i\) \(( a_i \leq 10^9)\)
  • Dòng đầu ba chứa số nguyên dương \(m \ (1 \leq m \leq 10^5)\) - là số phần tử của mảng b.
  • Dòng thứ tư chứa \(m\) số nguyên dương, số thứ \(i\)\(b_i\) \(( b_i \leq 10^9)\)

Output

  • Nếu có cách làm hai dãy giống nhau thì in ra độ dài lớn nhất mà hai dãy có thể có. Ngược lại in ra -1.

Example

Test 1

Input
5
11 2 3 5 7
4
11 7 3 7 
Output
3

Test 2

Input
2
1 1
1
100
Output
-1

Comments

There are no comments at the moment.