const fs = require("fs");
const input = fs.readFileSync("./input.txt").toString().trim().split('\n');
const inputNums = input[1].trim().split(' ').map(Number);
let count = 0;
let primeNum = 0;
for (let i = 0; i < parseInt(input[0]); i++) {
count = 0;
for (let j = 1; j <= inputNums[i]; j++) {
if (inputNums[i]%j == 0) {
count++;
}
}
if (count == 2) {
primeNum++;
}
}
console.log(primeNum);
const fs = require("fs");
const input = fs.readFileSync("./input.txt").toString().trim().split('\n');
const min = parseInt(input[0]);
const max = parseInt(input[1]);
let count = 0;
let primeArr = [];
for (let i = min; i <= max; i++) {
count = 0;
for (let j = 1; j <= i; j++) {
if (i%j == 0) {
count++;
}
if (count > 2) {
break;
}
}
if (count == 2) {
primeArr.push(i);
}
}
const primeSum = primeArr.reduce((prev, cur) => prev + cur, 0);
const primeMin = Math.min(...primeArr);
if (primeArr.length == 0) {
console.log(-1);
} else {
console.log(primeSum);
console.log(primeMin);
}
const fs = require("fs");
const input = fs.readFileSync("./input.txt").toString().trim();
let inputNum = parseInt(input);
let factoArr = [];
let count = 2;
let primeCount = 0;
let isItPrime = false;
while (!isItPrime) {
if (inputNum == 1) {
break;
}
primeCount = 0;
for (let i = 1; i <= inputNum; i++) {
if (inputNum % i == 0) {
primeCount++;
}
if (primeCount > 2) {
break;
}
}
if (primeCount == 2) {
factoArr.push(inputNum);
isItPrime = true;
break;
}
if (inputNum % count == 0) {
factoArr.push(count);
inputNum = inputNum / count;
count = 1;
}
count++;
}
factoArr.sort(function(a, b) {
return a - b;
});
if (inputNum != 1) {
for (let i = 0; i < factoArr.length; i++) {
console.log(factoArr[i]);
}
}
const fs = require("fs");
const input = fs.readFileSync("./input.txt").toString().trim().split(" ");
const min = parseInt(input[0]);
const max = parseInt(input[1]);
let isPrimeArr = new Array(max + 1);
isPrimeArr.fill(true);
isPrimeArr[0] = false;
isPrimeArr[1] = false;
for (let i = 2; i <= max; i++) {
if (isPrimeArr[i]) {
for (let j = i + i; j <= max; j += i) {
isPrimeArr[j] = false;
}
}
}
for (let i = min; i <= max; i++) {
if (isPrimeArr[i]) {
console.log(i);
}
}
const fs = require("fs");
const input = fs.readFileSync("./input.txt").toString().trim().split("\n");
let count = 0;
for (let k = 0; k < input.length-1; k++) {
let n = parseInt(input[k]);
let isPrimeArr = new Array(2 * n + 1);
isPrimeArr.fill(true);
isPrimeArr[0] = false;
isPrimeArr[1] = false;
for (let i = 2; i <= 2*n; i++) {
if (isPrimeArr[i]) {
for (let j = i + i; j <= 2*n; j += i) {
isPrimeArr[j] = false;
}
}
}
isPrimeArr = isPrimeArr.slice(n+1, 2*n+1)
count = isPrimeArr.reduce((cnt, element) => cnt + (true === element), 0);
console.log(count);
}
const fs = require("fs");
const input = fs.readFileSync("./input.txt").toString().trim().split("\n");
let n = 0;
let primeNums = [];
let partition = [];
for (let k = 1; k < input.length; k++) {
partition = [];
primeNums = [];
n = parseInt(input[k]);
let isPrimeArr = new Array(n + 1);
isPrimeArr.fill(true);
isPrimeArr[0] = false;
isPrimeArr[1] = false;
for (let i = 2; i <= n; i++) {
if (isPrimeArr[i]) {
for (let j = i + i; j <= n; j += i) {
isPrimeArr[j] = false;
}
}
}
for (let i = 0; i < isPrimeArr.length; i++) {
if(isPrimeArr[i]) {
primeNums.push(i);
}
}
for (let i = 0; i < primeNums.length; i++) {
if (primeNums.includes(n-primeNums[i])) {
partition.push([n-primeNums[i], primeNums[i], n-primeNums[i]*2]);
}
}
while (partition[i][2] > 0) {
partition.shift();
}
console.log(partition[0][0] + ' ' + partition[0][1]);
}