package main
import (
"bufio"
"fmt"
"os"
)
func main() {
const M = 10000000
d := make([]int32, M+1)
for i := int32(1); i <= M; i++ {
for j := i; j <= M; j += i {
d[j] += i
}
}
ans := make([]int32, M+1)
for i := 1; i <= M; i++ {
ans[i] = -1
}
for i := int32(1); i <= M; i++ {
if d[i] <= M && ans[d[i]] == -1 {
ans[d[i]] = i
}
}
reader := bufio.NewReader(os.Stdin)
writer := bufio.NewWriter(os.Stdout)
defer writer.Flush()
var t int
if _, err := fmt.Fscan(reader, &t); err != nil {
return
}
for i := 0; i < t; i++ {
var c int
fmt.Fscan(reader, &c)
fmt.Fprintln(writer, ans[c])
}
}