package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
rand.Seed(time.Now().UnixNano())
var n, k int
fmt.Scan(&n, &k)
var meanRight, stdRight float64
fmt.Scan(&meanRight, &stdRight)
var meanTrans, stdTrans float64
fmt.Scan(&meanTrans, &stdTrans)
var meanCorr, stdCorr float64
var P int
fmt.Scan(&meanCorr, &stdCorr, &P)
fmt.Println(1)
for i := 1; i <= n; i++ {
nextLeft := i + 1
nextRight := i + 1
if i == n {
nextLeft = 0
nextRight = 0
}
visits := k / n
if i <= k%n {
visits++
}
fmt.Printf("%d %d ", nextLeft, nextRight)
rights := int(float64(visits) * meanRight)
if rights < 0 {
rights = 0
}
if rights > visits {
rights = visits
}
seq := make([]int, visits)
for j := 0; j < rights; j++ {
seq[j] = 1
}
rand.Shuffle(len(seq), func(i, j int) {
seq[i], seq[j] = seq[j], seq[i]
})
for j := 0; j < visits; j++ {
fmt.Printf("%d", seq[j])
if j < visits-1 {
fmt.Printf(" ")
}
}
fmt.Println()
}
}