#include <bits/stdc++.h>
using namespace std;
const int N = 2e6 + 6;
int n, a[N], b[N];
long long suma[N], sumb[N], x[N], y[N];
bool f[N];
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) scanf("%d", &a[i]), suma[i] = suma[i - 1] + a[i];
  for (int i = 1; i <= n; i++) scanf("%d", &b[i]), sumb[i] = sumb[i - 1] + b[i];
  int flag = 0;
  if (sumb[n] < suma[n]) {
    for (int i = 1; i <= n; i++) {
      long long t = a[i];
      a[i] = b[i], b[i] = t;
      t = suma[i];
      suma[i] = sumb[i], sumb[i] = t;
    }
    flag = 1;
  }
  int j = 0;
  for (int i = 0; i <= n; i++) {
    while (sumb[j] < suma[i]) j++;
    int k = sumb[j] - suma[i];
    if (f[k]) {
      if (!flag) {
        cout << i - x[k] << endl;
        for (int p = x[k] + 1; p <= i; p++) cout << p << ' ';
        cout << endl;
        cout << j - y[k] << endl;
        for (int p = y[k] + 1; p <= j; p++) cout << p << ' ';
        cout << endl;
      } else {
        cout << j - y[k] << endl;
        for (int p = y[k] + 1; p <= j; p++) cout << p << ' ';
        cout << endl;
        cout << i - x[k] << endl;
        for (int p = x[k] + 1; p <= i; p++) cout << p << ' ';
        cout << endl;
      }
      return 0;
    }
    f[k] = 1, x[k] = i, y[k] = j;
  }
  return 0;
}
