#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <vector>
using namespace std;
vector<long long> primes;
void precalc()
{
int n = 1e6 + 5;
vector<int> sieve(n, 1);
for (long long i = 2; i < n; i++)
{
if (sieve[i])
{
primes.push_back(i);
for (long long j = i * i; j < n; j += i)
{
sieve[j] = 0;
}
}
}
}
int main()
{
int n;
cin >> n;
vector<int> a(n + 1);
for (int i = 1; i <= n; i++)
{
cin >> a[i];
}
precalc();
vector<long long> div3, div4;
for (int i = 0; i < primes.size(); i++)
{
if (primes[i] <= 100)
{
div4.push_back(primes[i] * primes[i] * primes[i]);
}
if (primes[i] <= 1000)
{
div3.push_back(primes[i] * primes[i]);
for (int j = 0; j < i; j++)
{
if (primes[j] * primes[i] > n) break;
div4.push_back(primes[i] * primes[j]);
}
}
}
long long x = 0, y = 0, z = 0;
for (int i = 0; i < primes.size(); i++)
{
if (primes[i] <= n)
x += a[primes[i]];
}
for (int i = 0; i < div3.size(); i++)
{
if (div3[i] <= n)
y += a[div3[i]];
}
for (int i = 0; i < div4.size(); i++)
{
if (div4[i] <= n)
z += a[div4[i]];
}
cout << x << " " << y << " " << z;
return 0;
}
I2RlZmluZSBfQ1JUX1NFQ1VSRV9OT19XQVJOSU5HUwojaW5jbHVkZSA8aW9zdHJlYW0+CiNpbmNsdWRlIDx2ZWN0b3I+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdmVjdG9yPGxvbmcgbG9uZz4gcHJpbWVzOwoKdm9pZCBwcmVjYWxjKCkKewoJaW50IG4gPSAxZTYgKyA1OwoJdmVjdG9yPGludD4gc2lldmUobiwgMSk7Cglmb3IgKGxvbmcgbG9uZyBpID0gMjsgaSA8IG47IGkrKykKCXsKCQlpZiAoc2lldmVbaV0pCgkJewoJCQlwcmltZXMucHVzaF9iYWNrKGkpOwoJCQlmb3IgKGxvbmcgbG9uZyBqID0gaSAqIGk7IGogPCBuOyBqICs9IGkpCgkJCXsKCQkJCXNpZXZlW2pdID0gMDsKCQkJfQoJCX0KCX0KfQoKaW50IG1haW4oKQp7CglpbnQgbjsKCWNpbiA+PiBuOwoJdmVjdG9yPGludD4gYShuICsgMSk7Cglmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspCgl7CgkJY2luID4+IGFbaV07Cgl9CglwcmVjYWxjKCk7Cgl2ZWN0b3I8bG9uZyBsb25nPiBkaXYzLCBkaXY0OwoJZm9yIChpbnQgaSA9IDA7IGkgPCBwcmltZXMuc2l6ZSgpOyBpKyspCgl7CgkJaWYgKHByaW1lc1tpXSA8PSAxMDApCgkJewoJCQlkaXY0LnB1c2hfYmFjayhwcmltZXNbaV0gKiBwcmltZXNbaV0gKiBwcmltZXNbaV0pOwoJCX0KCQlpZiAocHJpbWVzW2ldIDw9IDEwMDApCgkJewoJCQlkaXYzLnB1c2hfYmFjayhwcmltZXNbaV0gKiBwcmltZXNbaV0pOwoJCQlmb3IgKGludCBqID0gMDsgaiA8IGk7IGorKykKCQkJewoJCQkJaWYgKHByaW1lc1tqXSAqIHByaW1lc1tpXSA+IG4pIGJyZWFrOwoJCQkJZGl2NC5wdXNoX2JhY2socHJpbWVzW2ldICogcHJpbWVzW2pdKTsKCQkJfQoJCX0KCX0KCWxvbmcgbG9uZyB4ID0gMCwgeSA9IDAsIHogPSAwOwoJZm9yIChpbnQgaSA9IDA7IGkgPCBwcmltZXMuc2l6ZSgpOyBpKyspCgl7CgkJaWYgKHByaW1lc1tpXSA8PSBuKQoJCQl4ICs9IGFbcHJpbWVzW2ldXTsKCX0KCWZvciAoaW50IGkgPSAwOyBpIDwgZGl2My5zaXplKCk7IGkrKykKCXsKCQlpZiAoZGl2M1tpXSA8PSBuKQoJCQl5ICs9IGFbZGl2M1tpXV07Cgl9Cglmb3IgKGludCBpID0gMDsgaSA8IGRpdjQuc2l6ZSgpOyBpKyspCgl7CgkJaWYgKGRpdjRbaV0gPD0gbikKCQkJeiArPSBhW2RpdjRbaV1dOwoJfQoJY291dCA8PCB4IDw8ICIgIiA8PCB5IDw8ICIgIiA8PCB6OwoJcmV0dXJuIDA7Cn0=