← Home
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()
	}
}