Reflection Point |2| ~~~~~~~~~~~~~~~~~~~~ Given two points :math:`P(p_x, p_y)` and :math:`Q(q_x, q_y)` in the two-dimensional plane, we name the point that is in the middle of the two points the *mid point*, :math:`M(m_x,m_y)`, and the point that is the 180° rotation of :math:`P` around :math:`Q` the *reflection point*, :math:`R(r_x,r_y)`. Consider the following case: |image1| Given :math:`P(1,1)` and :math:`Q(3,3)`, we say the mid point :math:`M` is :math:`M(2,2)` and the reflection point :math:`R` is :math:`R(5,5)`. It can be seen from the figure that, :math:`Q` is the mid-point of :math:`P` and :math:`R`, so the distance from :math:`P` to :math:`Q` and the distance from :math:`Q` to :math:`R` are the same. Write a program that takes 4 integers as input from the user, the coordinates of :math:`P` and :math:`Q` *(in the order :math:`p_x, p_y, q_x, q_y`)*, and prints their mid point and the reflection point in the order :math:`m_x, m_y, r_x, r_y` as floats with 2 digits after the decimal point. .. container:: sampleio Sample I/O: .. |2| image:: ../../figures/difficulty_two.png :class: difficulty .. |image1| image:: ../../figures/ch4_reflection_point.png :class: width400 .. code:: default Input: 1 1 3 3 Output: 2.00 2.00 5.00 5.00 Input: -1 -1 1 1 Output: 0.00 0.00 3.00 3.00 Input: 4 5 1 2 Output: 2.50 3.50 -2.00 -1.00 .. raw:: html .. raw:: html