package main
import (
"fmt"
"sort"
)
type Container struct {
a int64
b int64
}
func main() {
var n int64
var m int
if _, err := fmt.Scan(&n, &m); err != nil {
return
}
containers := make([]Container, m)
for i := 0; i < m; i++ {
fmt.Scan(&containers[i].a, &containers[i].b)
}
sort.Slice(containers, func(i, j int) bool {
return containers[i].b > containers[j].b
})
var totalMatches int64 = 0
for _, c := range containers {
if n == 0 {
break
}
take := c.a
if take > n {
take = n
}
totalMatches += take * c.b
n -= take
}
fmt.Println(totalMatches)
}