sk

sk

sk

/*

   Author:Raghav Bansal

   IIIT Una

         */

#include <bits/stdc++.h>

#define int int64_t

#define mod 1000000007

#define pb push_back

#define mp make_pair

#define all(v) v.begin(),v.end()

#define BOLT ios_base::sync_with_stdio(false); cin.tie(0)

#define fill(a,val) memset(a,val,sizeof(a))

#define sz(a) sizeof(a)

#define X first

#define Y second

#define db double

#define MAX 1000001

#define size(s) s.size()

#define endl "\n"

//#include <ext/pb_ds/assoc_container.hpp>

//#include <ext/pb_ds/tree_policy.hpp>

//#include <boost/multiprecision/cpp_int.hpp>

using namespace std;

typedef pair<int,int> pi;

typedef map<int,int> mii;

typedef vector<int> vec;

const db PI=acos(-1);

//using namespace __gnu_pbds;

//template < typename T > using indexed_set = //tree < T, null_type, less < T >, rb_tree_tag, tree_order_statistics_node_update >;

//template < typename T > using MinPriorityQueue = priority_queue < T, vector < T >, greater < T > >;

//template < typename T > T getsum(int bit[],int r){T sum=0;while(r){sum+=bit[r]; r-=(r&(-r));}return sum; }

//template < typename T > void update(int bit[],int idx,int val){while(idx<=n){bit[idx]+=val; idx+=(idx&(-idx));}}

int prime[100002]={0};

void sieve(){

for(int i=2;i<=10000;i++)

{

for(int j=2*i;j<=10000;j+=i)

{

prime[j]=1;

}

}

}

int32_t main(){

BOLT;

memset(a,0,sizeof(a));

sieve();

int n;

prime[1]=1;

cin>>n;

int a[n],sum=1;

for(int i=0;i<n;i++)

{

cin>>a[i];

if(!prime[a[i]])

sum=sum*(a[i]+1);

}

cout<<sum-1<<endl;

}

Report Page