← Home
```go
package main

import (
	"fmt"
)

func main() {
	var C, Hr, Hb, Wr, Wb int64
	fmt.Scan(&C, &Hr, &Hb, &Wr, &Wb)
	
	var ans int64 = 0
	var limit int64 = 2000000
	
	maxRed := C / Wr
	if maxRed > limit {
		maxRed = limit
	}
	for i := int64(0); i <= maxRed; i++ {
		rem := C - i*Wr
		j := rem / Wb
		joy := i*Hr + j*Hb
		if joy > ans {
			ans = joy
		}
	}
	
	maxBlue := C / Wb
	if maxBlue > limit {
		maxBlue = limit
	}
	for j := int64(0); j <= maxBlue; j++ {
		rem := C - j*Wb
		i := rem / Wr
		joy := i*Hr + j*Hb
		if joy > ans {
			ans = joy
		}
	}
	
	fmt.Println(ans)
}
```