With Ada.Text_IO; Use Ada.Text_IO;  
With Ada.Integer_Text_IO; Use Ada.Integer_Text_IO;
 
procedure Collatz is
	number : Integer;
begin
	loop
		Put("Enter an integer greater than 1: ");
		Get(number);
		exit when number > 1;
	end loop;
	loop
		Put(Integer'Image(number));
		if number mod 2 = 0 then
			number := number / 2;
		else
			number := 3 * number + 1;
		end if;
		exit when number = 1;
	end loop;
	Put(Integer'Image(number));
end Collatz;
				V2l0aCBBZGEuVGV4dF9JTzsgVXNlIEFkYS5UZXh0X0lPOyAgCldpdGggQWRhLkludGVnZXJfVGV4dF9JTzsgVXNlIEFkYS5JbnRlZ2VyX1RleHRfSU87Cgpwcm9jZWR1cmUgQ29sbGF0eiBpcwoJbnVtYmVyIDogSW50ZWdlcjsKYmVnaW4KCWxvb3AKCQlQdXQoIkVudGVyIGFuIGludGVnZXIgZ3JlYXRlciB0aGFuIDE6ICIpOwoJCUdldChudW1iZXIpOwoJCWV4aXQgd2hlbiBudW1iZXIgPiAxOwoJZW5kIGxvb3A7Cglsb29wCgkJUHV0KEludGVnZXInSW1hZ2UobnVtYmVyKSk7CgkJaWYgbnVtYmVyIG1vZCAyID0gMCB0aGVuCgkJCW51bWJlciA6PSBudW1iZXIgLyAyOwoJCWVsc2UKCQkJbnVtYmVyIDo9IDMgKiBudW1iZXIgKyAxOwoJCWVuZCBpZjsKCQlleGl0IHdoZW4gbnVtYmVyID0gMTsKCWVuZCBsb29wOwoJUHV0KEludGVnZXInSW1hZ2UobnVtYmVyKSk7CmVuZCBDb2xsYXR6Ow==