#include <bits/stdc++.h>
using namespace std;
#define int long long
using ll = long long;
using ull = unsigned long long;
using ii = pair<int, int>;
using vi = vector<int>;
using vll = vector<ll>;
using vii = vector<ii>;
const int mod = 1e9 + 7;
#define nl '\n'
#define ff first
#define ss second
#define pb push_back
#define sz(x) (int)x.size()
#define all(x) x.begin(), x.end()
#define debug(x) \
for (auto &e : x) \
cout << e << " "; \
cout << nl;
#define yes cout << "Yes" << nl;
#define no cout << "No" << nl;
int gcd(int a, int b)
{
if (b == 0)
return a;
else
return gcd(b, a % b);
}
int lcm(int a, int b)
{
return a * b / gcd(a, b);
}
/*
int power(int x, unsigned int y, unsigned int M)
{
if (y == 0)
return 1;
int p = power(x, y / 2, M) % M;
p = (p * p) % M;
return (y % 2 == 0) ? p : (x * p) % M;
}*/
void setIO(string name = "")
{
cin.tie(0)->sync_with_stdio(0);
if (sz(name))
{
freopen((name + ".in").c_str(), "r", stdin);
freopen((name + ".out").c_str(), "w", stdout);
}
}
ll t, x, m, k, q, n;
void solve()
{
cin >> n;
unordered_map<int, int> mov;
unordered_map<int, int> box;
box.reserve(n + 5);
mov.reserve(n + 5);
vii stuff(n);
for (int i = 0; i < n; i++)
{
// box movie
cin >> stuff[i].ff >> stuff[i].ss;
stuff[i].ff--, stuff[i].ss--;
box[stuff[i].ff] = stuff[i].ss; // en esta caja esta esta peli
mov[stuff[i].ss] = stuff[i].ff; // esta peli en esta caja
}
ll algo2 = 0;
for (int i = 0; i < n - 1; i++)
{
algo2++;
while (i != box[i])
{
int j = box[i];
algo2 += abs(i - j);
swap(box[i], box[j]);
i = box[i];
algo2 += abs(i - j);
}
}
for (int i = 0; i < n; i++)
{
box[stuff[i].ff] = stuff[i].ss; // en caja i esta esta peli
}
ll algo1 = 0;
for (int i = 0; i < n - 1; i++)
{
algo1++;
if (mov[i] != box[i])
{
algo1 += abs(i - box[i]) * 2;
swap(mov[box[i]], mov[box[box[i]]]);
continue;
}
}
cout << algo1 << " " << algo2 << nl;
}
signed main()
{
setIO();
int tc = 1;
// cin >> tc;
while (tc--)
solve();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgaW50IGxvbmcgbG9uZwp1c2luZyBsbCA9IGxvbmcgbG9uZzsKdXNpbmcgdWxsID0gdW5zaWduZWQgbG9uZyBsb25nOwoKdXNpbmcgaWkgPSBwYWlyPGludCwgaW50PjsKdXNpbmcgdmkgPSB2ZWN0b3I8aW50PjsKdXNpbmcgdmxsID0gdmVjdG9yPGxsPjsKdXNpbmcgdmlpID0gdmVjdG9yPGlpPjsKCmNvbnN0IGludCBtb2QgPSAxZTkgKyA3OwojZGVmaW5lIG5sICdcbicKI2RlZmluZSBmZiBmaXJzdAojZGVmaW5lIHNzIHNlY29uZAojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIHN6KHgpIChpbnQpeC5zaXplKCkKI2RlZmluZSBhbGwoeCkgeC5iZWdpbigpLCB4LmVuZCgpCgojZGVmaW5lIGRlYnVnKHgpICAgICAgICAgIFwKICAgIGZvciAoYXV0byAmZSA6IHgpICAgICBcCiAgICAgICAgY291dCA8PCBlIDw8ICIgIjsgXAogICAgY291dCA8PCBubDsKCiNkZWZpbmUgeWVzIGNvdXQgPDwgIlllcyIgPDwgbmw7CiNkZWZpbmUgbm8gY291dCA8PCAiTm8iIDw8IG5sOwoKaW50IGdjZChpbnQgYSwgaW50IGIpCnsKICAgIGlmIChiID09IDApCiAgICAgICAgcmV0dXJuIGE7CiAgICBlbHNlCiAgICAgICAgcmV0dXJuIGdjZChiLCBhICUgYik7Cn0KaW50IGxjbShpbnQgYSwgaW50IGIpCnsKICAgIHJldHVybiBhICogYiAvIGdjZChhLCBiKTsKfQoKLyoKaW50IHBvd2VyKGludCB4LCB1bnNpZ25lZCBpbnQgeSwgdW5zaWduZWQgaW50IE0pCnsKICAgIGlmICh5ID09IDApCiAgICAgICAgcmV0dXJuIDE7CgogICAgaW50IHAgPSBwb3dlcih4LCB5IC8gMiwgTSkgJSBNOwogICAgcCA9IChwICogcCkgJSBNOwoKICAgIHJldHVybiAoeSAlIDIgPT0gMCkgPyBwIDogKHggKiBwKSAlIE07Cn0qLwoKdm9pZCBzZXRJTyhzdHJpbmcgbmFtZSA9ICIiKQp7CiAgICBjaW4udGllKDApLT5zeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBpZiAoc3oobmFtZSkpCiAgICB7CiAgICAgICAgZnJlb3BlbigobmFtZSArICIuaW4iKS5jX3N0cigpLCAiciIsIHN0ZGluKTsKICAgICAgICBmcmVvcGVuKChuYW1lICsgIi5vdXQiKS5jX3N0cigpLCAidyIsIHN0ZG91dCk7CiAgICB9Cn0KCmxsIHQsIHgsIG0sIGssIHEsIG47Cgp2b2lkIHNvbHZlKCkKewogICAgY2luID4+IG47CiAgICB1bm9yZGVyZWRfbWFwPGludCwgaW50PiBtb3Y7CiAgICB1bm9yZGVyZWRfbWFwPGludCwgaW50PiBib3g7CiAgICBib3gucmVzZXJ2ZShuICsgNSk7CiAgICBtb3YucmVzZXJ2ZShuICsgNSk7CiAgICB2aWkgc3R1ZmYobik7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykKICAgIHsKICAgICAgICAvLyBib3ggbW92aWUKICAgICAgICBjaW4gPj4gc3R1ZmZbaV0uZmYgPj4gc3R1ZmZbaV0uc3M7CiAgICAgICAgc3R1ZmZbaV0uZmYtLSwgc3R1ZmZbaV0uc3MtLTsKICAgICAgICBib3hbc3R1ZmZbaV0uZmZdID0gc3R1ZmZbaV0uc3M7IC8vIGVuIGVzdGEgY2FqYSBlc3RhIGVzdGEgcGVsaQogICAgICAgIG1vdltzdHVmZltpXS5zc10gPSBzdHVmZltpXS5mZjsgLy8gZXN0YSBwZWxpIGVuIGVzdGEgY2FqYQogICAgfQogICAgbGwgYWxnbzIgPSAwOwoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbiAtIDE7IGkrKykKICAgIHsKICAgICAgICBhbGdvMisrOwogICAgICAgIHdoaWxlIChpICE9IGJveFtpXSkKICAgICAgICB7CiAgICAgICAgICAgIGludCBqID0gYm94W2ldOwogICAgICAgICAgICBhbGdvMiArPSBhYnMoaSAtIGopOwogICAgICAgICAgICBzd2FwKGJveFtpXSwgYm94W2pdKTsKICAgICAgICAgICAgaSA9IGJveFtpXTsKICAgICAgICAgICAgYWxnbzIgKz0gYWJzKGkgLSBqKTsKICAgICAgICB9CiAgICB9CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspCiAgICB7CiAgICAgICAgYm94W3N0dWZmW2ldLmZmXSA9IHN0dWZmW2ldLnNzOyAvLyBlbiBjYWphIGkgZXN0YSBlc3RhIHBlbGkKICAgIH0KICAgIGxsIGFsZ28xID0gMDsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbiAtIDE7IGkrKykKICAgIHsKICAgICAgICBhbGdvMSsrOwogICAgICAgIGlmIChtb3ZbaV0gIT0gYm94W2ldKQogICAgICAgIHsKICAgICAgICAgICAgYWxnbzEgKz0gYWJzKGkgLSBib3hbaV0pICogMjsKICAgICAgICAgICAgc3dhcChtb3ZbYm94W2ldXSwgbW92W2JveFtib3hbaV1dXSk7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgIH0KCiAgICBjb3V0IDw8IGFsZ28xIDw8ICIgIiA8PCBhbGdvMiA8PCBubDsKfQoKc2lnbmVkIG1haW4oKQp7CiAgICBzZXRJTygpOwogICAgaW50IHRjID0gMTsKICAgIC8vIGNpbiA+PiB0YzsKICAgIHdoaWxlICh0Yy0tKQogICAgICAgIHNvbHZlKCk7CiAgICByZXR1cm4gMDsKfQ==