#include #define MAX(a,b) (((a)>(b))?(a):(b)) #define MIN(a,b) (((a)>(b))?(b):(a)) #define ABS(x) ((x>0)?(x):(-(x))) #define ulli unsigned long long int #define lli long long int #define pb push_back #define mp make_pair #define fi first #define se second #define all(x) x.begin(),x.end() #define rall(x) x.rbegin(),x.rend() #define vi vector #define pii pair #define piii pair #define matrix vector > #define itr iterator #define ub upper_bound #define lb lower_bound #define rep(lo,hi) for(lli i=lo;i0)return b*powerf(b*b,e/2); else return powerf(b*b,e/2)/b;}} lli modpow(lli b,lli e,lli m) { lli r=1; b=b%m; while(e>0) { if(e%2==1) r=(r*b)%m; e/=2; b=(b*b)%m; } return r; } lli modinverse(lli a,lli mod) { return modpow(a,mod-2,mod); } lli modinverse2(lli a,lli m) { lli x,y; exgcd(a,m,x,y); while(x<0) x+=m; return x; } lli nCrmod(lli n,lli r,lli m) {if(r>n) r=n-r; lli res=1; for(lli i=r;i>=1;i--) { res=(res*(n-i+1))%m; res=(res*modinverse(i,m)); } return res; } lli nCr(lli n,lli r) {if(r>n) r=n-r; lli res=1; for(lli i=r;i>=1;i--) { res*=(n-i+1); res/=i; } return res; } lli totient(lli n) { lli res=n,p; for(p=2;p*p<=n;p++){ if(n%p==0){ while(n%p==0) n/=p; res-=res/p; }} if(n>1) res-=res/n; return res; } bool isprime(lli x) { if(x==1) return false; for(lli i=2;i*i<=x;i++) if(x%i==0) return false; return true; } bool isvowel(char c) { if(isupper(c)) c=tolower(c); return c=='a'||c=='e'||c=='i'||c=='o'||c=='u'; } bool istriangle(lli a,lli b,lli c) { return (a+b>c)&&(a+c>b)&&(b+c>a); } lli stringmod(string s,lli mod) { lli res=0; for(unsigned int i=0;i=pw) { res+=(n/pw); pw*=p; } return res; } matrix matrixmultiply(matrix A,matrix B,lli n) { matrix C(2,vector(n)); for(int i=0;i(n)); for(int i=0;i Q; do{ count++; Q.push(start_vertex); V[start_vertex] = 1; while(!Q.empty()) { int i = Q.front(); //////////whatever you wanna do with the element Q.pop(); for(int j=0;j Q; D[0] = 0; Q.insert(pii(0,0)); while(!Q.empty()) {pii top = *Q.begin(); Q.erase(Q.begin()); int i = top.second, d = top.first; for(int j=0;jD[i]+cost) { if(D[v2] != 987654321) { Q.erase(Q.find(pii(D[v2],v2))); ///erase from set if present there } D[v2] = D[i] + cost; Q.insert(pii(D[v2], v2));} } }//cout< > node; void build(string s,int id,int l,int r,int t[],int o[],int c[]) { if(r==l) { if(s[l]=='(') o[id]=1; else c[id]=1; return; } int mid=(l+r)/2; build(s,(2*id)+1,l,mid,t,o,c); if((2*id)+2>2*s.size()-1) { t[id]=t[(2*id)+1]; o[id]=o[(2*id)+1]; c[id]=c[(2*id)+1]; return; } build(s,(2*id)+2,mid+1,r,t,o,c); int tmp=min(o[(2*id)+1],c[(2*id)+2]); t[id]=t[(2*id)+1]+t[(2*id)+2]+2*tmp; o[id]=o[(2*id)+1]+o[(2*id)+2]-tmp; c[id]=c[(2*id)+1]+c[(2*id)+2]-tmp; } node segment(int x,int y,int id,int l,int r,int t[],int o[],int c[]) { if(x>=r||y<=l) return node(0,pii(0,0)); if(x<=l&&y>=r) return node(t[id],pii(o[id],c[id])); int mid=(l+r)/2; node a=segment(x,y,(2*id)+1,l,mid,t,o,c),b=segment(x,y,(2*id)+2,mid+1,r,t,o,c); int T,O,C; int temp=min(a.se.fi,b.se.se); T=a.fi+b.fi+2*temp; O=a.se.fi+b.se.fi-temp; C=a.se.se+b.se.se-temp; return node(T,pii(O,C)); } void pre() { } void judge() { int n,a; cin>>n; vi arr; rep(0,n) {cin>>a;arr.pb(a);} lli sum=0; rep(0,n) { if(arr[i]==1) sum++; else if(arr[i]<4) sum+=arr[i]+1; else { sum+=arr[i]; int u=arr[i];int f=0; repe(j,2,(arr[i])) { if(u%j==0) { while(u%j==0) { sum+=u/j; u=u/j; if(f==0) f=1; } } if(u==1) { break; } } if(f==0) sum++; } } cout<>t; for(lli c=1;c<=t;c++) { cout<<"Case #"<>tt; while(tt--) { judge(); } return 0; }