← Home
package main

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

func gcd(a, b uint64) uint64 {
	for b != 0 {
		a, b = b, a%b
	}
	return a
}

func main() {
	in := bufio.NewReader(os.Stdin)
	out := bufio.NewWriter(os.Stdout)
	defer out.Flush()

	var t int
	if _, err := fmt.Fscan(in, &t); err != nil {
		return
	}

	for i := 0; i < t; i++ {
		var n uint64
		fmt.Fscan(in, &n)
		ans := n % 1000000007
		var k uint64 = 1
		var L uint64 = 1
		for {
			L = (L / gcd(L, k)) * k
			if L > n {
				break
			}
			ans = (ans + (n/L)%1000000007) % 1000000007
			k++
		}
		fmt.Fprintln(out, ans)
	}
}