#!/usr/bin/python

import sys, re

def solve(m):
    rowswitch = lambda m, i, j:                                    \
        m[:i] + [m[j]] + m[i+1:j] + [m[i]] + m[j+1:] if i < j else \
        m[:j] + [m[i]] + m[j+1:i] + [m[j]] + m[i+1:] if i > j else m
    rowmultiply = lambda m, r, i: \
        m[:r] + [map(lambda n: n*i, m[r])] + m[r+1:]
    rowadd = lambda m, r1, r2, i: \
        m[:r2] + [map(sum, zip(map(lambda n: n*i, m[r1]), m[r2]))] + m[r2+1:]

    for i in xrange(len(m)):
        k = i
        try:
            while m[k][i] == 0: k += 1
        except:
            raise "Insoluble"

        m = rowswitch(m, i, k)
        m = rowmultiply(m, i, 1 / m[i][i])

        for j in xrange(len(m)):
            if j != i and m[j][i] != 0:
                m = rowadd(m, i, j, -m[j][i])

    return m

x, y = [], []
regex = re.compile(r"^\s*(\d+(?:\.\d+)?)\s+(\d+(?:\.\d+)?)\s*$")

for line in sys.stdin.readlines():
    m = regex.match(line)
    if m is None:
        sys.stderr.write("Invalid input: %s\n" % line)
    x.append(float(m.group(1)))
    y.append(float(m.group(2)))

assert len(x) == len(y)

matrix = []

row = [0. for i in xrange(3 * len(x) - 2)]
row[0] = 1.
matrix.append(row)

# Points on the curve

for i in xrange(len(x) - 1):
    row = [0. for j in xrange(3 * len(x) - 2)]
    row[i] = x[i] * x[i]
    row[i + len(x) - 1] = x[i]
    row[i + 2 * len(x) - 2] = 1.
    row[-1] = y[i]
    matrix.append(row)

    row = [0. for j in xrange(3 * len(x) - 2)]
    row[i] = x[i + 1] * x[i + 1]
    row[i + len(x) - 1] = x[i + 1]
    row[i + 2 * len(x) - 2] = 1.
    row[-1] = y[i + 1]
    matrix.append(row)

# Slopes at inner points

for i in xrange(1, len(x) - 1):
    row = [0. for j in xrange(3 * len(x) - 2)]
    row[i - 1] = 2 * x[i]
    row[i] = -2 * x[i]
    row[i + len(x) - 2] = 1.
    row[i + len(x) - 1] = -1.
    matrix.append(row)

matrix = zip(*solve(matrix))[-1]
a = matrix[: len(matrix) / 3 ]
b = matrix[len(matrix) / 3 : 2 * len(matrix) / 3]
c = matrix[2 * len(matrix) / 3 :]

text = ""
for i in xrange(len(x) - 1):
    text += "     %f <= x && x <= %f ? %f * x * x + %f * x + %f :\\\n" % \
            (x[i], x[i + 1], a[i], b[i], c[i])

print "plot", text[5:-2], "0/0 notitle"