← Home
```go
package main

import (
	"bufio"
	"fmt"
	"os"
	"sort"
)

func main() {
	reader := bufio.NewReader(os.Stdin)
	var n int
	if _, err := fmt.Fscan(reader, &n); err != nil {
		return
	}

	d := make([]int, n+1)
	for i := 1; i <= n; i++ {
		for j := i; j <= n; j += i {
			d[j]++
		}
	}

	w := make([]int, n)
	for i := 1; i <= n; i++ {
		w[i-1] = d[i] - (n / i)
	}

	sort.Ints(w)

	writer := bufio.NewWriter(os.Stdout)
	defer writer.Flush()

	sum := int64(0)
	for i := n - 1; i >= 0; i-- {
		sum += int64(w[i])
		fmt.Fprint(writer, sum)
		if i > 0 {
			fmt.Fprint(writer, " ")
		}
	}
	fmt.Fprintln(writer)
}
```