#include <iostream>
#include <unordered_set>
#include <vector>
using namespace std;
string solution(int n, vector<int>& a) {
// PLEASE DO NOT MODIFY THE FUNCTION SIGNATURE
// write code here
unordered_set<int> set = {};
for(auto A :a){
for(int i = 2; i <= A; ){
if(A % i == 0){
set.insert(i);
A = A / i;
if(A == 1) {
continue;
}
}else {
i++;
}
}
}
return set.size() <= n? "Yes":"No"; // placeholder return
}
int main() {
vector<int> a1 = {1, 2, 3, 4};
vector<int> a2 = {10, 12};
vector<int> a3 = {6, 9, 15};
cout << (solution(4, a1) == "Yes") << endl;
cout << (solution(2, a2) == "No") << endl;
cout << (solution(3, a3) == "Yes") << endl;
return 0;
}