## Editorial for Robot

Remember to use this editorial only when stuck, and not to copy-paste code from it. Please be respectful to the problem author and editorialist.

Submitting an official solution before solving the problem yourself is a bannable offence.

The power of a robot is simply the multiplication of the prime numbers which can be extracted from the $N$ numbers. For each number, we can calculate all the primes which make that number.

Primes of $$X$$ can be calculated by iterating from 2 to the square root of $$X$$. For each iteration, it can be checked if $$X$$ can be divided by the number or not. If the number can be divided it's prime and if $$X$$ can be further divided to the number we divide till it cannot be divided. If the number cannot be divided by any numbers, then $$X$$ is a prime number and we insert it into our set. For example for a spell of power 18.

• First check for 2. Since it can be divided by $$X$$ is 9 and we insert 2 into the set. 2 cannot divide 9. So we check for 2+1=3.
• 9 can be divided by 3 twice. 3 Will be inserted into the list and since $$X$$ is now 1, we can stop the process.

After all those numbers put in a set, we can simply take multiplication of all of them. (Not forgetting the modulo)

#include <bits/stdc++.h>
using namespace std;

const int md = (int) 1e9 + 7;
const int siz = 300005;

long long arr[siz];
long long n, m, k, l, x;
set<long long> s;

int i=2;
while(x!=1){
while(x%i==0){
x/=i;
s.insert(i);
}
if(sqrt(x)<i) {
s.insert(x);
break;
}
i++;
}
}

int main(){
cin>>n;
for(int i=0;i<n;i++){
cin>>x;