PACKAGE Useful IS -- useful subtypes SUBTYPE ZeroToEight IS integer RANGE 0..8; SUBTYPE OneToEight IS integer RANGE 1..8; -- useful arrays TYPE columns IS ARRAY (1..8) OF OneToEight; TYPE ColumnFree IS ARRAY (1..8) OF Boolean; TYPE UpFree IS ARRAY (2..16) OF Boolean; TYPE DownFree IS ARRAY (-7..7) OF Boolean; -- useful variable Row : ZeroToEight; -- limit number of rows on board Count : integer := 0; -- counter for solutions END useful;