#include "books.h"
#include <bits/stdc++.h>
using namespace std;
long long cyc(int i, vector<int> &p, vector<int> &done) {
long long ans = 0, cur = i;
while (p[cur] != i) {
done[cur] = 1;
ans += abs(p[cur] - cur);
cur = p[cur];
}
done[cur] = 1;
ans += (long long)abs(cur - i);
return ans;
}
long long minimum_walk(std::vector<int> p, int s) {
long long tot = 0;
int n = (int)p.size();
vector<int> done(n);
long long cur = -1; long long stp = 0;
for (int i = 0; i < n; i++) {
cur++;
if (done[i]) {continue;}
tot += cur;
cur = (long long)0;
long long c = cyc(i, p, done);
tot += c;
stp = i;
}
tot += stp;
return tot;
}