func_code_string: #include <bits/stdc++.h>   using namespace std;   const int maxk = 101, maxn = 100000 + 10;   long long n, k, a[maxk], dp[maxk][maxn];   long long f(int x, long long num) {     if (num == 0) return 0;     if (x == k + 1) return num;     if (num < maxn && dp[x][num] != -1) return dp[x][num];     long long p = f(x + 1, num) - f(x + 1, num / a[x]);     if (num < maxn) return dp[x][num] = p;     return p;   }   bool cmp(int x, int y) { return y < x; }   int main() {     memset(dp, -1, sizeof dp);     cin >> n >> k;     for (int i = 1; i <= k; i++) cin >> a[i];     sort(a + 1, a + 1 + k, cmp);     cout << f(1, n) << endl;     return 0;   }   