#include <avr/io.h>

int main() {
	char c;
	// 9600-7-E-1
	UCSRA=0x00;
	UCSRB=0x18;
	UCSRC=0xA4;
	UBRRH=0;
	UBRRL=23;
	while(1) {
		while (~UCSRA & 1<<RXC);
		if (UCSRA & (1<<FE|1<<DOR|1<<PE)) {
			c=UDR;
			while (~UCSRA & 1<<UDRE);
			UDR='?';
		}
		else {
			c=UDR;
			if (c=='S') {
				char s[]="HalloQ";
				int i;
				for (i=0; s[i]!='\0'; i++) {
					while (~UCSRA & 1<<UDRE);
					UDR=s[i];
				}
			}
		}
	}
	return 0;
}
