--  Natural and Positive are subtypes of Integer
--  Subtypes inherit parent type operations
--  Later we will see how to define our own subtypes

with ada.integer_text_io; use ada.integer_text_io; 
 
procedure nat_pos  is 
   n : Natural;   --  Negative not allowed
   p : Positive;  --  Negative and 0 not allowed
begin
   -- Integer get works for the subtypes.
   get (n);       --  Constraint Error if negative value entered
   p := n + 1;
   put (n);
   put (p);

   n := -1;       --  Compiles, but warns of runtime Constraint Error

end nat_pos;