| f | from math import * | f | from math import * | 
            |  |  |  |  | 
            | n | def is_convex_polygon(pairs): | n | def is_convex_polygon(points): | 
            |  | n = len(pairs) |  | n = len(points) | 
            |  | sym = 0 |  | sign = 0 | 
            |  | center = (sum((x for x, y in pairs)) / len(pairs), sum((y for x, y i |  | center = (sum((x for x, _ in points)) / len(points), sum((y for _, y | 
            |  | n pairs)) / len(pairs)) |  | in points)) / len(points)) | 
            |  | pairs.sort(key=lambda p: (atan2(p[1] - center[1], p[0] - center[0]), |  | points.sort(key=lambda p: (atan2(p[1] - center[1], p[0] - center[0]) | 
            |  | p)) |  | , p)) | 
            |  | for i in range(n): |  | for i in range(n): | 
            | n | o, a, b = (pairs[i], pairs[(i + 1) % n], pairs[(i + 2) % n]) | n | o, a, b = (points[i], points[(i + 1) % n], points[(i + 2) % n]) | 
            |  | cross = (a[0] - o[0]) * (b[1] - o[1]) - (a[1] - o[1]) * (b[0] - |  | cross = (a[0] - o[0]) * (b[1] - o[1]) - (a[1] - o[1]) * (b[0] - | 
            |  | o[0]) |  | o[0]) | 
            |  | if cross != 0: |  | if cross != 0: | 
            | n | current_sym = 1 if cross > 0 else -1 | n | current_sign = 1 if cross > 0 else -1 | 
            |  | if sym == 0: |  | if sign == 0: | 
            |  | sym = current_sym |  | sign = current_sign | 
            |  | elif sym != current_sym: |  | elif sign != current_sign: | 
            |  | return False |  | return False | 
            |  | return True |  | return True | 
            | n | lst = list() | n | l = list() | 
            |  | while (s := input()): |  | while (s := input()): | 
            | t | lst.append(eval(s)) | t | l.append(eval(s)) | 
            |  | print(is_convex_polygon(lst)) |  | print(is_convex_polygon(l)) |