	[     ID] class
	[     ID] TmplStack
	[       ] {
	[     ID] unsigned
	[     ID] long
	[     ID] long
	[       ] *
	[     ID] stkarray
	[       ] ;
	[     ID] int
	[     ID] stksiz
	[       ] ,
	[     ID] top
	[       ] ;
	[     ID] public
	[       ] :
	[     ID] TmplStack
	[       ] (
	[     ID] int
	[     ID] stacksize
	[       ] )
	[       ] {
	[     ID] if
	[       ] (
	[     ID] stacksize
	[       ] <
	[       ] =
	[ NUMBER] 0
	[       ] )
	[     ID] stacksize
	[       ] =
	[ NUMBER] 1
	[       ] ;
	[     ID] stkarray
	[       ] =
	[     ID] new
	[     ID] unsigned
	[     ID] long
	[     ID] long
	[       ] [
	[     ID] stacksize
	[       ] ]
	[       ] ;
	[     ID] stksiz
	[       ] =
	[     ID] stacksize
	[       ] ;
	[     ID] top
	[       ] =
	[ NUMBER] 0
	[       ] ;
	[       ] }
	[       ] ~
	[     ID] TmplStack
	[       ] (
	[       ] )
	[       ] {
	[     ID] delete
	[       ] [
	[       ] ]
	[     ID] stkarray
	[       ] ;
	[       ] }
	[     ID] bool
	[     ID] isEmpty
	[       ] (
	[       ] )
	[       ] {
	[     ID] return
	[     ID] top
	[       ] =
	[       ] =
	[ NUMBER] 0
	[       ] ?
	[     ID] true
	[       ] :
	[     ID] false
	[       ] ;
	[       ] }
	[     ID] bool
	[     ID] isFull
	[       ] (
	[       ] )
	[       ] {
	[     ID] return
	[     ID] top
	[       ] =
	[       ] =
	[     ID] stksiz
	[       ] ?
	[     ID] true
	[       ] :
	[     ID] false
	[       ] ;
	[       ] }
	[     ID] void
	[     ID] push
	[       ] (
	[     ID] const
	[     ID] unsigned
	[     ID] long
	[     ID] long
	[       ] &
	[     ID] elmt
	[       ] )
	[       ] {
	[     ID] if
	[       ] (
	[     ID] isFull
	[       ] (
	[       ] )
	[       ] )
	[       ] {
	[     ID] return
	[       ] ;
	[       ] }
	[     ID] stkarray
	[       ] [
	[     ID] top
	[       ] +
	[       ] +
	[       ] ]
	[       ] =
	[     ID] elmt
	[       ] ;
	[       ] }
	[     ID] unsigned
	[     ID] long
	[     ID] long
	[     ID] pop
	[       ] (
	[       ] )
	[       ] {
	[     ID] if
	[       ] (
	[     ID] isEmpty
	[       ] (
	[       ] )
	[       ] )
	[       ] {
	[     ID] return
	[       ] ;
	[       ] }
	[     ID] else
	[       ] {
	[       ] -
	[       ] -
	[     ID] top
	[       ] ;
	[       ] }
	[     ID] return
	[     ID] stkarray
	[       ] [
	[     ID] top
	[       ] ]
	[       ] ;
	[       ] }
	[       ] }
	[       ] ;
