#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 7;
bool vis[N];
int n, a[N], go[N];
pair<int, int> v[N];
bool isLucky(int x) {
  while (x > 0) {
    if (x % 10 != 4 && x % 10 != 7) return false;
    x /= 10;
  }
  return true;
}
void solve() {
  bool hasLN = false;
  for (int i = (0); i < (n); ++i)
    if (isLucky(a[i])) {
      hasLN = true;
      break;
    }
  if (!hasLN) {
    for (int i = (0); i < (n - 1); ++i)
      if (a[i] > a[i + 1]) {
        puts("-1");
        return;
      }
    puts("0");
    return;
  }
  for (int i = (0); i < (n); ++i) v[i] = make_pair(a[i], i);
  sort(v, v + n);
  for (int i = (0); i < (n); ++i) go[v[i].second] = i;
  vector<pair<int, int> > ans;
  for (int i = (0); i < (n); ++i)
    if (!vis[i] && isLucky(a[i])) {
      vector<int> vec;
      int x = go[i];
      while (!vis[x]) {
        vec.push_back(x), vis[x] = true;
        x = go[x];
      }
      if (((int)(vec).size()) == 1) continue;
      for (int j = (((int)(vec).size()) - 1) - 1; j >= (0); --j) {
        ans.push_back(make_pair(vec[j], vec[j + 1]));
        swap(a[vec[j]], a[vec[j + 1]]);
      }
    }
  int p;
  for (int i = (0); i < (n); ++i)
    if (vis[i] && isLucky(a[i])) {
      p = i;
      break;
    }
  for (int i = (0); i < (n); ++i)
    if (!vis[i]) {
      vector<int> vec;
      int x = i;
      while (!vis[x]) {
        vec.push_back(x), vis[x] = true;
        x = go[x];
      }
      if (((int)(vec).size()) == 1) continue;
      for (int j = (((int)(vec).size())) - 1; j >= (0); --j) {
        ans.push_back(make_pair(p, vec[j]));
        swap(p, vec[j]);
        swap(a[p], a[vec[j]]);
      }
      ans.push_back(make_pair(p, vec.back()));
      swap(p, vec.back());
      swap(a[p], a[vec.back()]);
    }
  if (((int)(ans).size()) > 2 * n) {
    puts("-1");
    return;
  }
  printf("%d\n", ((int)(ans).size()));
  for (int i = (0); i < (((int)(ans).size())); ++i) {
    int x, y;
    tie(x, y) = ans[i];
    printf("%d %d\n", x + 1, y + 1);
  }
}
int main() {
  scanf("%d", &n);
  for (int i = (0); i < (n); ++i) scanf("%d", a + i);
  solve();
  return 0;
}
