```go
package main
import (
"fmt"
)
func main() {
var n int64
if _, err := fmt.Scan(&n); err != nil {
return
}
mod := int64(998244353)
fact := int64(1)
for i := int64(1); i <= n; i++ {
fact = (fact * i) % mod
}
L := (n * fact) % mod
total := (L * (L + 1)) % mod
total = (total * 499122177) % mod
repeats := (fact * (fact - 1 + mod)) % mod
ans := (total - repeats + mod) % mod
fmt.Println(ans)
}
```