package main

var data = []int{}
var min_data = []int{}

func min(a int, b int) int {
    if a < b {
        return a
    }
    return b
}

func Push(node int) {
    data = append(data, node)
    if len(min_data) != 0 {
        min_data = append(min_data, min(node, min_data[len(min_data)-1]))
    } else {
        min_data = append(min_data, node)
    }
}
func Pop() {
    data = data[0:len(data)-1]
    min_data = min_data[0:len(min_data)-1]
}
func Top() int {
    return data[len(data)-1]
}
func Min() int {
    return min_data[len(min_data)-1] 
}