← Home
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)
}