#include using namespace std; int main() { int N; cin >> N; int card1[N], card2[N]; vector pat; string tmp = ""; for (int i = 0; i < N; i++) { cin >> card1[i]; tmp += (i + '0'); } for (int i = 0; i < N; i++) { cin >> card2[i]; } do { pat.push_back(tmp); }while (next_permutation(tmp.begin(), tmp.end())); int count = 0, ans = 0; for (int i = 0; i < pat.size(); i++) { for (int j = 0; j < N; j++) { if (card1[pat[i][j] - '0'] > card2[j]) { count++; } } if (count > N / 2) { ans++; } count = 0; } cout << ans / (float)pat.size() << endl; return 0; }