- with Ada.Text_IO; use Ada.Text_IO; 
- with Ada.Integer_Text_IO; use Ada.Integer_Text_IO; 
- with Ada.Strings.Unbounded; use Ada.Strings.Unbounded; 
-   
- procedure Program is 
- 	function FizzBuzz(N: in Integer) return String is 
- 		Result: Unbounded_String := To_Unbounded_String(""); 
- 	begin 
- 		if N rem 3 = 0 then 
- 			Result := Result & To_Unbounded_String("Fizz"); 
- 		end if; 
- 		if N rem 5 = 0 then 
- 			Result := Result & To_Unbounded_String("Buzz"); 
- 		end if; 
- 		if Result = "" then 
- 			Result := To_Unbounded_String(Integer'Image(N)); 
- 		end if; 
- 		return To_String(Result); 
- 	end Fizzbuzz; 
-   
- 	function Fib(N: in Integer) return Integer is 
- 	begin 
- 		if N < 2 then 
- 			return 1; 
- 		else 
- 			return Fib(N - 1) + Fib(N - 2); 
- 		end if; 
- 	end Fib; 
- begin 
- 	for N in Integer range 1 .. 100 loop 
- 		Put_Line("fizzbuzz(F_" & Integer'Image(N) & ") = " & FizzBuzz(Fib(N))); 
- 	end loop; 
- end Program; 
				d2l0aCBBZGEuVGV4dF9JTzsgdXNlIEFkYS5UZXh0X0lPOwp3aXRoIEFkYS5JbnRlZ2VyX1RleHRfSU87IHVzZSBBZGEuSW50ZWdlcl9UZXh0X0lPOwp3aXRoIEFkYS5TdHJpbmdzLlVuYm91bmRlZDsgdXNlIEFkYS5TdHJpbmdzLlVuYm91bmRlZDsKCnByb2NlZHVyZSBQcm9ncmFtIGlzCglmdW5jdGlvbiBGaXp6QnV6eihOOiBpbiBJbnRlZ2VyKSByZXR1cm4gU3RyaW5nIGlzCgkJUmVzdWx0OiBVbmJvdW5kZWRfU3RyaW5nIDo9IFRvX1VuYm91bmRlZF9TdHJpbmcoIiIpOwoJYmVnaW4KCQlpZiBOIHJlbSAzID0gMCB0aGVuCgkJCVJlc3VsdCA6PSBSZXN1bHQgJiBUb19VbmJvdW5kZWRfU3RyaW5nKCJGaXp6Iik7CgkJZW5kIGlmOwoJCWlmIE4gcmVtIDUgPSAwIHRoZW4KCQkJUmVzdWx0IDo9IFJlc3VsdCAmIFRvX1VuYm91bmRlZF9TdHJpbmcoIkJ1enoiKTsKCQllbmQgaWY7CgkJaWYgUmVzdWx0ID0gIiIgdGhlbgoJCQlSZXN1bHQgOj0gVG9fVW5ib3VuZGVkX1N0cmluZyhJbnRlZ2VyJ0ltYWdlKE4pKTsKCQllbmQgaWY7CgkJcmV0dXJuIFRvX1N0cmluZyhSZXN1bHQpOwoJZW5kIEZpenpidXp6OwoKCWZ1bmN0aW9uIEZpYihOOiBpbiBJbnRlZ2VyKSByZXR1cm4gSW50ZWdlciBpcwoJYmVnaW4KCQlpZiBOIDwgMiB0aGVuCgkJCXJldHVybiAxOwoJCWVsc2UKCQkJcmV0dXJuIEZpYihOIC0gMSkgKyBGaWIoTiAtIDIpOwoJCWVuZCBpZjsKCWVuZCBGaWI7CmJlZ2luCglmb3IgTiBpbiBJbnRlZ2VyIHJhbmdlIDEgLi4gMTAwIGxvb3AKCQlQdXRfTGluZSgiZml6emJ1enooRl8iICYgSW50ZWdlcidJbWFnZShOKSAmICIpID0gIiAmIEZpenpCdXp6KEZpYihOKSkpOwoJZW5kIGxvb3A7CmVuZCBQcm9ncmFtOw==