Окей, не претендую на гениальность... Сам не уверен.
Но тем не менее попытался решить первое, мб правильно :0