#include #define X first #define Y second #define eb push_back #define pb pop_back #define mp make_pair #define siz(a) int(a.size()) //for traversing the container (bcoz we cannot access linked list etc with direct index) //c stands for container and it for iterator #define tr(c, it) \ for(typeof(c.begin()) it=c.begin() ; it != c.end() ; it++) #define all(c) c.begin(), c.end() #define present(container, element) (container.find(element) != container.end()) //whether the element is present in the container #define trace2(x, y) cout <<#x<<": "< vi; typedef vector < vi > vvi; typedef vector < ll > vll; typedef vector < vll > vvll; typedef pair < int , int > ii; const ll mod=1e9+7; const ll mod2=1e9+9; const ll maxn = 1e6+5; const ll maxn1 = 1e7+1; const int root=1e6+5; const long long inf = 1e18 + 18; double pie4=3.1415926535; //dont do silly mistake as always- //1-read question properly(dont miss single line) //2-check maximum array size //3-int or long long int or ull or sort(a+1,a+n+1)-indexing //4-do u understand question correctly(shampoo)? //5-MOST IMP-BE CALM YOU CAN DO:) //6-think edge case or corner case before submitting. ll visit[maxn],a[101] ; vectorprime,f ; void sieve(){ ll i,j ; for(i=2;i1) f.eb(n); } ll solve(){ ll i,res=1,ans=0,a1=0 ; for(i=0;i> n ; for(i=1;i<=n;i++){ cin >> a[i] ; factorise(a[i]); sort(f.rbegin(),f.rend()); sum = sum + solve() + 1 ; f.clear(); } cout<