func (s *VecStack) PeekN(n int) []*Vec {
	var (
		N   []*Vec
		cur *item
	)
	N = make([]*Vec, 0, n)
	cur = s.top
	for len(N) < n {
		if cur == nil {
			break
		}
		N = append(N, cur.value)
		cur = cur.next
	}
	return N
}
func (s *VecStack) PeekN(n int) []*Vec {
	var (
		N   []*Vec
		cur *item
	)
	N = make([]*Vec, 0, n)
	cur = s.top
	for len(N) < n {
		if cur == nil {
			break
		}
		N = append(N, cur.value)
		cur = cur.next
	}
	return N
}
// PeekN returns at max the N topmost item without removing them from the stack.