#include <iostream>
#include <vector>
using namespace std;
class Solution {
private:
vector<int>p;
vector<vector<int>> res;
vector<bool>used;
public:
void GetPerm(vector<int>&nums,int Index,vector<int>&p) {
if (p.size() == 2) {
res.push_back(p);
return;
}
for (int i = Index; i < nums.size(); ++i) {
if (!used[i]) {
p.push_back(nums[i]);
used[i] = true;
GetPerm(nums, i, p);
used[i] = false;
p.pop_back();
}
}
return;
}
public:
int Perm(vector<int>&nums) {
p.clear();
used = vector<bool>(nums.size(), false);
GetPerm(nums, 0, p);
return res.size();
}
};
int main() {
vector<int>nums(5, 0);
for (int i = 0; i < 5; ++i) {
nums[i] = i + 1;
}
int num = Solution().Perm(nums);
cout << num << endl;
cin.get();
}