import java.util.*;
import java.io.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String c = br.readLine();
String d = br.readLine();
br.close();
if(c==null || d==null){
System.out.println(-1);
return;
}
c=c.trim();
d=d.trim();
if(c.isEmpty() || d.isEmpty()){
System.out.println(-1);
return;
}
Deque<Integer> cq = new ArrayDeque<>();
for (String cs : c.split("\\s+")) {
int cv = Integer.parseInt(cs);
if(cv<1 || cv>100){
System.out.println(-1);
return;
}
cq.addLast(cv);
if(cq.size()>1000){
System.out.println(-1);
return;
}
}
Deque<Integer> dq = new ArrayDeque<>();
for (String ds : d.split("\\s+")) {
int dv = Integer.parseInt(ds);
if(dv<1 || dv>100){
System.out.println(-1);
return;
}
dq.addLast(dv);
if(dq.size()>1000){
System.out.println(-1);
return;
}
}
while(!cq.isEmpty() && !dq.isEmpty()){
int k = cq.pollFirst();
int tries=0;
int maxTries=dq.size();
while(!dq.isEmpty() && tries<maxTries) {
if (k==dq.peekFirst()) {
dq.pollFirst();
break;
} else if (k > dq.peekFirst()) {
int sum = 0;
while (!dq.isEmpty() && sum + dq.peekFirst() <= k) {
sum += dq.pollFirst();
}
break;
} else {
int demands = dq.pollFirst();
dq.addLast(demands);
tries++;
}
}
}
System.out.println(dq.size());
}
}