import  std.conv ; 
import  std.stdio ; 
import  std.string ; 
 
struct  Human { 
	string  name; 
	ushort  age; 
} 
 
void  print_human_list( Human[ ]  human_list)  { 
 
	foreach ( human;  human_list)  { 
		writeln( human.name ) ; 
		writeln( human.age ) ; 
	} 
	writeln( ) ; 
} 
 
void  add_new_human( ref  Human[ ]  human_list)  { 
 
	write( "Name: " ) ; 
	string  name =  readln.strip ; 
 
	write( "Age: " ) ; 
	ushort  age =  readln.strip .to ! ushort ; 
 
	Human tmp_human =  { name,  age} ; 
	human_list ~=  tmp_human; 
} 
 
void  main( )  { 
 
	Human[ ]  human_list; 
 
	for ( ;; )  { 
 
		writeln( "A)dd New Human." ) ; 
		writeln( "P)rint Human List." ) ; 
		writeln( "Q)uit." ) ; 
		write( ": " ) ; 
 
		char  choice =  readln.strip .to ! char ; 
 
		switch  ( choice)  { 
		case ( 'A' ) : 
			add_new_human( human_list) ; 
			break ; 
		case ( 'P' ) : 
			print_human_list( human_list) ; 
			break ; 
		case ( 'Q' ) : 
			return ; 
		default : 
			continue ; 
		} 
	} 
} 
 
				aW1wb3J0IHN0ZC5jb252OwppbXBvcnQgc3RkLnN0ZGlvOwppbXBvcnQgc3RkLnN0cmluZzsKCnN0cnVjdCBIdW1hbiB7CglzdHJpbmcgbmFtZTsKCXVzaG9ydCBhZ2U7Cn0KCnZvaWQgcHJpbnRfaHVtYW5fbGlzdChIdW1hbltdIGh1bWFuX2xpc3QpIHsKCglmb3JlYWNoKGh1bWFuOyBodW1hbl9saXN0KSB7CgkJd3JpdGVsbihodW1hbi5uYW1lKTsKCQl3cml0ZWxuKGh1bWFuLmFnZSk7Cgl9Cgl3cml0ZWxuKCk7Cn0KCnZvaWQgYWRkX25ld19odW1hbihyZWYgSHVtYW5bXSBodW1hbl9saXN0KSB7CgoJd3JpdGUoIk5hbWU6ICIpOwoJc3RyaW5nIG5hbWUgPSByZWFkbG4uc3RyaXA7CgoJd3JpdGUoIkFnZTogIik7Cgl1c2hvcnQgYWdlID0gcmVhZGxuLnN0cmlwLnRvIXVzaG9ydDsKCglIdW1hbiB0bXBfaHVtYW4gPSB7bmFtZSwgYWdlfTsKCWh1bWFuX2xpc3Qgfj0gdG1wX2h1bWFuOwp9Cgp2b2lkIG1haW4oKSB7CgoJSHVtYW5bXSBodW1hbl9saXN0OwoJCglmb3IoOzspIHsKCgkJd3JpdGVsbigiQSlkZCBOZXcgSHVtYW4uIik7CgkJd3JpdGVsbigiUClyaW50IEh1bWFuIExpc3QuIik7CgkJd3JpdGVsbigiUSl1aXQuIik7CgkJd3JpdGUoIjogIik7CgoJCWNoYXIgY2hvaWNlID0gcmVhZGxuLnN0cmlwLnRvIWNoYXI7CgoJCXN3aXRjaCAoY2hvaWNlKSB7CgkJY2FzZSgnQScpOgoJCQlhZGRfbmV3X2h1bWFuKGh1bWFuX2xpc3QpOwoJCQlicmVhazsKCQljYXNlKCdQJyk6CgkJCXByaW50X2h1bWFuX2xpc3QoaHVtYW5fbGlzdCk7CgkJCWJyZWFrOwoJCWNhc2UoJ1EnKToKCQkJcmV0dXJuOwoJCWRlZmF1bHQ6CgkJCWNvbnRpbnVlOwoJCX0KCX0KfQ==