#include <bits/stdc++.h>
using namespace std;
const int N = 100005;
set<pair<int64_t, int> > se[N];
struct bc {
  int c, ind, s;
  bc(int co, int si, int i) {
    c = co;
    s = si;
    ind = i;
  }
};
vector<bc> v;
bool compare(const bc &a, const bc &b) {
  if (a.c != b.c) return a.c < b.c;
  return a.s > b.s;
}
vector<int> c1, c2;
bool thiscase;
int main() {
  int n, i;
  scanf("%d", &n);
  v.push_back(bc(-1, -1, -1));
  int col1 = -1, sz1 = -1, col2 = -1, sz2 = -1;
  for (i = 1; i <= n; i++) {
    int c, s;
    scanf("%d%d", &c, &s);
    v.push_back(bc(c, s, i));
  }
  sort(v.begin(), v.end(), compare);
  int j = 1;
  int64_t sum = 0, ans = 0;
  for (i = 1; i <= n; i++) {
    if (v[i].s > ans) {
      ans = v[i].s;
      col1 = v[i].ind;
      sz1 = 1;
    }
    if (v[i].c != v[i - 1].c) {
      j = 1;
      sum = v[i].s;
    } else {
      j++;
      sum += v[i].s;
    }
    se[j].insert(make_pair(sum, v[i].c));
    if (se[j].size() > 2) se[j].erase(se[j].begin());
  }
  for (i = 1; i <= n; i++) {
    for (auto it1 : se[i]) {
      for (auto it2 : se[i + 1]) {
        if (it1.first + it2.first > ans && it1.second != it2.second) {
          ans = it1.first + it2.first;
          col1 = it2.second;
          sz1 = i + 1;
          sz2 = i;
          col2 = it1.second;
        }
      }
    }
    if (se[i].size() == 2) {
      auto it1 = se[i].begin(), it2 = it1;
      it1++;
      if (it1->first + it2->first > ans) {
        ans = it1->first + it2->first;
        col1 = it1->second;
        sz1 = i;
        col2 = it2->second;
        sz2 = i;
      }
    }
  }
  printf("%I64d\n", ans);
  if (col2 == -1) {
    printf("1 %d", col1);
    return 0;
  }
  printf("%d\n", sz1 + sz2);
  for (i = 1; i <= n; i++) {
    if (v[i].c == col1) c1.push_back(v[i].ind);
    if (v[i].c == col2) c2.push_back(v[i].ind);
  }
  bool flag = true;
  int j1 = 0, k1 = 0;
  for (i = 0; i < sz1 + sz2; i++) {
    if (flag) {
      printf("%d ", c1[j1++]);
      flag = false;
    } else {
      printf("%d ", c2[k1++]);
      flag = true;
    }
  }
}
