package main

import "fmt"
import "runtime/debug"

func main(){
    ch := make(chan int)
	go method1(ch)
	fmt.Println(<-ch)
}

func method1(c chan int) {
    method2(c)
}

func method2(c chan int) {
    method3(c)
}

func method3(c chan int) {
    method4(c)
}

func method4(c chan int) {
    method5(c)
}

func method5(c chan int) {
    debug.PrintStack()
    c <- 5
}