| 12345678910111213141516171819202122 | 
							- package main
 
- import (
 
- 	"fmt"
 
- )
 
- func main() {
 
- 	var C int
 
- 	fmt.Scan(&C)
 
- 	for cid := 0; cid < C; cid++ {
 
- 		var N, M, A int
 
- 		fmt.Scan(&N, &M, &A)
 
- 		if A > N*M { // Math is the key. We can prove that every A in [1, N*M] is possible.
 
- 			fmt.Printf("Case #%d: IMPOSSIBLE\n", cid+1)
 
- 		} else if k := A / M; k == N {
 
- 			fmt.Printf("Case #%d: 0 0 %d 0 0 %d\n", cid+1, N, M)
 
- 		} else {
 
- 			// a = (k+1, M), b = (k, 0), c = (0, c')
 
- 			fmt.Printf("Case #%d: %d %d %d %d %d %d\n", cid+1, k+1, M, k, 0, 0, A-k*M)
 
- 		}
 
- 	}
 
- }
 
 
  |