package main
import (
"bufio"
"fmt"
"os"
)
func main() {
in := bufio.NewReader(os.Stdin)
out := bufio.NewWriter(os.Stdout)
defer out.Flush()
var A, B, n int64
if _, err := fmt.Fscan(in, &A, &B, &n); err != nil {
return
}
for i := int64(0); i < n; i++ {
var l, t, m int64
fmt.Fscan(in, &l, &t, &m)
sl := A + (l-1)*B
if sl > t {
fmt.Fprintln(out, -1)
continue
}
left := l
right := (t-A)/B + 1
var ans int64 = -1
for left <= right {
mid := left + (right-left)/2
smid := A + (mid-1)*B
sum := (mid - l + 1) * (sl + smid) / 2
if sum <= t*m {
ans = mid
left = mid + 1
} else {
right = mid - 1
}
}
fmt.Fprintln(out, ans)
}
}