```go
package main
import (
"fmt"
)
func main() {
var p, k int64
if _, err := fmt.Scan(&p, &k); err != nil {
return
}
var coeffs []int64
for p != 0 {
rem := p % k
if rem < 0 {
rem += k
}
coeffs = append(coeffs, rem)
p = (p - rem) / (-k)
}
fmt.Println(len(coeffs))
for i, c := range coeffs {
if i > 0 {
fmt.Print(" ")
}
fmt.Print(c)
}
fmt.Println()
}
```