#include <bits/stdc++.h>
using namespace std;
char bf[100000], *p1 = bf, *p2 = bf;
inline int read() {
  int x = 0;
  char ch =
      (p1 == p2 && (p2 = (p1 = bf) + fread(bf, 1, 100000, stdin), p2 == p1)
           ? -1
           : *p1++);
  for (; ch < '0' || ch > '9';
       ch =
           (p1 == p2 && (p2 = (p1 = bf) + fread(bf, 1, 100000, stdin), p2 == p1)
                ? -1
                : *p1++))
    ;
  for (; ch <= '9' && ch >= '0';
       x = x * 10 + ch - 48,
       ch =
           (p1 == p2 && (p2 = (p1 = bf) + fread(bf, 1, 100000, stdin), p2 == p1)
                ? -1
                : *p1++))
    ;
  return x;
}
char pf[100000], *o1 = pf, *o2 = pf + 100000;
inline void print(int x) {
  static char s[15], *b;
  b = s;
  if (!x) *b++ = 48;
  for (; x; *b++ = x % 10 + 48, x /= 10)
    ;
  for (; b-- != s; (o1 == o2          ? fwrite(pf, 1, 100000, stdout),
                    *(o1 = pf)++ = *b : *o1++ = *b))
    ;
}
int i, j, k, m, n, x, y, p[1000100], vis[1000100], d[1000100];
long long a[1000100], b[1000100];
int main() {
  for (n = read(), i = 1; i <= n; ++i) a[i] = read() + a[i - 1];
  for (i = 1; i <= n; ++i) b[i] = read() + b[i - 1];
  for (b[n + 1] = 1ll << 62, i = 0; i <= n; ++i) {
    while (b[k + 1] <= a[i]) ++k;
    p[i] = k, d[i] = a[i] - b[k];
  }
  memset(vis, -1, sizeof vis);
  for (i = 0; i <= n; ++i) {
    int &o = vis[d[i]];
    if (o == -1)
      o = i;
    else {
      for (print(i - o),
           (o1 == o2            ? fwrite(pf, 1, 100000, stdout),
            *(o1 = pf)++ = '\n' : *o1++ = '\n'),
           j = o + 1;
           j <= i; ++j)
        print(j), (o1 == o2           ? fwrite(pf, 1, 100000, stdout),
                   *(o1 = pf)++ = ' ' : *o1++ = ' ');
      (o1 == o2            ? fwrite(pf, 1, 100000, stdout),
       *(o1 = pf)++ = '\n' : *o1++ = '\n'),
          print(p[i] - p[o]),
          (o1 == o2            ? fwrite(pf, 1, 100000, stdout),
           *(o1 = pf)++ = '\n' : *o1++ = '\n');
      for (j = p[o] + 1; j <= p[i]; ++j)
        print(j), (o1 == o2            ? fwrite(pf, 1, 100000, stdout),
                   *(o1 = pf)++ = '\n' : *o1++ = '\n');
      break;
    }
  }
  fwrite(pf, 1, o1 - pf, stdout);
}
