#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; // 最大公約数 long long gcd(long long a, long long b){ while(b != 0){ long long tmp = a % b; a = b; b = tmp; } return a; } // 最小公倍数 long long lcm(long long a, long long b){ return a / gcd(a, b) * b; } int main() { int n, k; cin >> n >> k; vector a(n); for(int i=0; i= 0){ int x, y; cin >> x >> y; swap(a[x-1], a[y-1]); } vector check(n, false); long long ret = 1; for(int i=0; i