#include #include struct num_info { int a; int lcm; }; int gcd(int a, int b) { int r; int ans; if (a < b) { r = b % a; while (r) { b = a; a = r; r = b % a; } ans = a; } else if (a > b) { r = a % b; while (r) { a = b; b = r; r = a % b; } ans = b; } else { ans = a; } return ans; } int search_min(struct num_info *A, int N) { int i; int min = ~(1 << 31); int min_i; for (i=0; i= 3) { int j, k; for (i=0; i 0) { struct num_info W; W = A[i+1]; A[i+1] = A[(i+1)+k]; A[(i+1)+k] = W; } } } for (i=0; i