function samples(array, m) {
if (!((m = Math.floor(m)) > 0)) return [];
const n = array.length;
if (!(n > m)) return array.slice();
const samples = [];
for (let i = 0, D = 2 * m - n; i < n; ++i, D += 2 * m) {
if (D > 0) {
samples.push(array[i]);
D -= 2 * n;
}
}
return samples;
}