package main

import "fmt"

func trace(s string) string {
    fmt.Println("entering:", s)
    return s
}
func un(s string) {
    fmt.Println("leaving:", s)
}

func a() {
    defer un(trace("a"))
	fmt.Println("in a")
}

func b() {
	 defer un(trace("b"))
	fmt.Println("in b")
	a()
}
func main() { 
	b() 
}
