<html> 
  <head> 
 <title>exec command  test examples </title> 
 </head> 
 <body>

 These are the days of the week:<p>Monday Tuesday Wednesday Thursday Friday Saturday Sunday<br>

 <FONT SIZE=+2>If you add one to your number, the result is <B>103</B><P>If you add 5 to that, the result is <B>108</B></FONT><br>

 <P>On Wednesday, we have to mop<P>On Friday, we have to wash windows<P>On Monday, we have to vacuum<br>

 Congratulations! Your married name would be jane smith.<br>

 These are the days of the week:<P>Monday Tuesday Wednesday Thursday Friday Saturday Sunday<br>

 <P>Starting countdown...10... 9... 8... 7... 6... 5... 4... 3... 2... 1... KABOOM!<br>

 You ate spinach, so you get dessert!<br>

 No spinach, no dessert!<br>

 <P>You entered 2 with an exponent of 4<P>2 raised to the 4 power is 16.<br>

 <P>Starting countdown...10... 9... 8... 7... 6... 5... 4... 3... 2... 1... KABOOM!<br>

 The first day of the week is Sunday<P>The third day of the week is Tuesday<br>

 	<Title> Hello World! </Title>
	<H1>	Hello World! </H1>
<br>

 You ate spinach, so you get dessert!
<br>

 Your number incremented by 1 is 8<BR>Your number, incremented again by 1, is now 9. If we store that operation, its value is also 9.<HR>Let's start over, with your original number 7<BR>Again, your number incremented by 1 is 8<BR>Now we store the value of your number in a second variable, which is now equal to 8, and then we increment your number again. It's now 9.<br>

 The numbers you entered were:<LI>289<P>The square roots of those numbers are: <LI>17<br>

 </body> 
 </html>
