#pragma indent
using Nemerle.Collections;
using Nemerle.Text;
using System.IO
module Program
Main() : void
def r = File.ReadLines(@"d:\in.txt").Map(t=>solve(t).ToString())
File.WriteAllLines(@"d:\out.txt", r)
solve (task : string) : int
def action = regexp match(task.ToLower())
| @".*(поровну|равномерно|одинаково|за каждым|каждому из них|один предмет|если известно|в каждое|сколько в каждом).*" => _/_
| @".*(кажд(ый|ой|ому|ом) из которых|вместе взятых|вышло вместе|по \d+|(ежедневно|ровно) по| сколько всего\?).*" => _*_
| @".*(лишних|меньше|а остальные|и несколько|назад|продолжало|первоначально|осталось|из которых \d+ было|из них|отдано \d+).*" => _-_
| _ => _+_
regexp match(task) { | @".*(\W|^)+(?<x : int>\d+)\W.*\W(?<y : int>\d+)\W.*" => if(x>y) action(x,y) else action(y,x); | _ => -1 }
I3ByYWdtYSBpbmRlbnQKCnVzaW5nIE5lbWVybGUuQ29sbGVjdGlvbnM7CnVzaW5nIE5lbWVybGUuVGV4dDsKdXNpbmcgU3lzdGVtLklPCgptb2R1bGUgUHJvZ3JhbQoKICAgIE1haW4oKSA6IHZvaWQKICAgICAgICBkZWYgciA9IEZpbGUuUmVhZExpbmVzKEAiZDpcaW4udHh0IikuTWFwKHQ9PnNvbHZlKHQpLlRvU3RyaW5nKCkpIAogICAgICAgIEZpbGUuV3JpdGVBbGxMaW5lcyhAImQ6XG91dC50eHQiLCByKQogICAgICAgIAogICAgc29sdmUgKHRhc2sgOiBzdHJpbmcpIDogaW50CiAgICAgICAgZGVmIGFjdGlvbiA9IHJlZ2V4cCBtYXRjaCh0YXNrLlRvTG93ZXIoKSkKICAgICAgICAgICAgfCBAIi4qKNC/0L7RgNC+0LLQvdGDfNGA0LDQstC90L7QvNC10YDQvdC+fNC+0LTQuNC90LDQutC+0LLQvnzQt9CwINC60LDQttC00YvQvHzQutCw0LbQtNC+0LzRgyDQuNC3INC90LjRhXzQvtC00LjQvSDQv9GA0LXQtNC80LXRgnzQtdGB0LvQuCDQuNC30LLQtdGB0YLQvdC+fNCyINC60LDQttC00L7QtXzRgdC60L7Qu9GM0LrQviDQsiDQutCw0LbQtNC+0LwpLioiICAgICAgICAgID0+IF8vXwogICAgICAgICAgICB8IEAiLioo0LrQsNC20LQo0YvQuXzQvtC5fNC+0LzRg3zQvtC8KSDQuNC3INC60L7RgtC+0YDRi9GFfNCy0LzQtdGB0YLQtSDQstC30Y/RgtGL0YV80LLRi9GI0LvQviDQstC80LXRgdGC0LV80L/QviBcZCt8KNC10LbQtdC00L3QtdCy0L3QvnzRgNC+0LLQvdC+KSDQv9C+fCDRgdC60L7Qu9GM0LrQviDQstGB0LXQs9C+XD8pLioiICAgICAgICAgICAgICAgPT4gXypfCiAgICAgICAgICAgIHwgQCIuKijQu9C40YjQvdC40YV80LzQtdC90YzRiNC1fNCwINC+0YHRgtCw0LvRjNC90YvQtXzQuCDQvdC10YHQutC+0LvRjNC60L580L3QsNC30LDQtHzQv9GA0L7QtNC+0LvQttCw0LvQvnzQv9C10YDQstC+0L3QsNGH0LDQu9GM0L3QvnzQvtGB0YLQsNC70L7RgdGMfNC40Lcg0LrQvtGC0L7RgNGL0YUgXGQrINCx0YvQu9C+fNC40Lcg0L3QuNGFfNC+0YLQtNCw0L3QviBcZCspLioiID0+IF8tXwogICAgICAgICAgICB8IF8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gXytfCiAgICAgICAgcmVnZXhwIG1hdGNoKHRhc2spIHsgfCBAIi4qKFxXfF4pKyg/PHggOiBpbnQ+XGQrKVxXLipcVyg/PHkgOiBpbnQ+XGQrKVxXLioiID0+IGlmKHg+eSkgYWN0aW9uKHgseSkgZWxzZSBhY3Rpb24oeSx4KTsgfCBfID0+IC0xIH0=