без наработок помогу только первое.
Попробуйте использовать метод деления пополам smile.gif