rendered paste body /*Calculate answer*/
int topNumber = Convert.ToInt32(question);
BitArray numbers = new BitArray(topNumber+1, true);
for(int i = 2; i <= topNumber; i++)
if(numbers[i])
{
for(int j = i * 2; j < topNumber; j += i)
numbers[j] = false;
}
int primes = 0;
ArrayList primeList = new ArrayList();
int check = 1;
for (int i = 2; i <= topNumber; i++)
{
if (numbers[i])
{
if ((check = (check + 1) % 2) == 0)
//Console.Out.WriteLine(i);
primeList.Add(i);
}
}
int addedDigits = 0;
for (int i = 0; i < primeList.Count; i++)
{
int n = (int)primeList[i];
string s = n.ToString();
addedDigits += s[0] - '0';
addedDigits += s[s.Length - 1] - '0';
}
int factorTotal = 0;
int tmp = addedDigits;
for (int i = 2; i <= tmp; i++)
{
if (tmp % i == 0)
{
factorTotal += i;
tmp = tmp / i;
i = 1;
}
}
String ans = topNumber + ":" + addedDigits + ":" + factorTotal;
Console.Out.WriteLine(ans);
/*******/