1. Abridged Problem Statement
Given three real numbers c, b, m (each >0), construct any triangle ABC such that
- |AB| = c
- |AC| = b
- The median from A to BC has length m.
If no such triangle exists, output "Mission impossible". Otherwise, print coordinates of A, B, C (one per line).

2. Detailed Editorial
Step 1: Median-length formula
In any triangle, the length m of the median from A onto BC satisfies
 m² = (2b² + 2c² − a²) / 4,
where a = |BC|, b = |AC|, c = |AB|.
Rearrange to find a²:
 a² = 2(b² + c²) − 4m².
If the right-hand side is negative, or if the resulting a violates the triangle inequalities (a + b > c, a + c > b, b + c > a), no solution exists.

Step 2: Choose a coordinate system
Place A at the origin: A = (0, 0).
Place B on the positive x-axis at B = (c, 0).
We now need to place C so that |AC| = b and |BC| = a.

Step 3: Law of cosines at angle A
Let θ = ∠BAC. By the law of cosines:
 cos θ = (|AB|² + |AC|² − |BC|²) / (2·|AB|·|AC|)
   = (c² + b² − a²) / (2bc).

Step 4: Compute C
From A = (0,0), vector AC has length b and makes angle θ with the x-axis, so
 C = (b·cos θ,  b·sin θ).

Step 5: Output
Print A, B, C with the required precision. If any check fails, print "Mission impossible".

3. C++ Solution
```cpp
#include <bits/stdc++.h>

using namespace std;

template<typename T1, typename T2>
ostream& operator<<(ostream& out, const pair<T1, T2>& x) {
    return out << x.first << ' ' << x.second;
}

template<typename T1, typename T2>
istream& operator>>(istream& in, pair<T1, T2>& x) {
    return in >> x.first >> x.second;
}

template<typename T>
istream& operator>>(istream& in, vector<T>& a) {
    for(auto& x: a) {
        in >> x;
    }
    return in;
};

template<typename T>
ostream& operator<<(ostream& out, const vector<T>& a) {
    for(auto x: a) {
        out << x << ' ';
    }
    return out;
};

double c, b, m;

void read() { cin >> c >> b >> m; }

void solve() {
    // The median length satisfies m^2 = (2b^2 + 2c^2 - a^2) / 4, so the third
    // side is a = sqrt(2b^2 + 2c^2 - 4m^2); if that radicand is negative or
    // the three sides a, b, c violate the triangle inequality there is no
    // triangle. Otherwise we place A at the origin and B at (c, 0) along the
    // x-axis. With the law of cosines for the angle at A, cos = (b^2 + c^2 -
    // a^2)/(2bc), point C lies at (b*cos, b*sin), giving a valid placement.

    double inner_val = 2 * b * b + 2 * c * c - 4 * m * m;
    if(inner_val < 0) {
        cout << "Mission impossible\n";
        return;
    }

    double a = sqrt(inner_val);
    if(a > b + c || b > a + c || c > a + b) {
        cout << "Mission impossible\n";
        return;
    }

    double cos_c = (b * b + c * c - a * a) / (2 * b * c);

    double bx = c, by = 0;
    double cx = b * cos_c;
    double cy = b * sqrt(1 - cos_c * cos_c);

    cout << fixed << setprecision(6);
    cout << 0.0 << ' ' << 0.0 << '\n';
    cout << bx << ' ' << by << '\n';
    cout << cx << ' ' << cy << '\n';
}

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);

    int T = 1;
    // cin >> T;
    for(int test = 1; test <= T; test++) {
        read();
        // cout << "Case #" << test << ": ";
        solve();
    }

    return 0;
}
```

4. Python Solution
```python
import math
import sys

def find_triangle_coordinates(b, c, m):
    # Based on median formula: m^2 = (2b^2 + 2c^2 - a^2) / 4
    # => a^2 = 2(b^2 + c^2) - 4 m^2
    inner_val = 2 * b*b + 2 * c*c - 4 * m*m
    # If inner_val < 0, no real a exists
    if inner_val < 0:
        return None

    # Compute side a = length of BC
    a = math.sqrt(inner_val)
    # Check triangle inequalities
    if a + b <= c or a + c <= b or b + c <= a:
        return None

    # Compute cos of angle A using law of cosines:
    # cos(A) = (AB^2 + AC^2 - BC^2) / (2*AB*AC)
    cosA = (c*c + b*b - a*a) / (2 * b * c)
    # Clamp to valid range to avoid domain errors
    cosA = max(-1.0, min(1.0, cosA))
    sinA = math.sqrt(1 - cosA*cosA)

    # Place A at (0,0), B at (c, 0)
    # Then C at (b*cosA, b*sinA)
    A = (0.0, 0.0)
    B = (c,   0.0)
    C = (b * cosA, b * sinA)
    return [A, B, C]

def main():
    # Read c, b, m from stdin
    parts = sys.stdin.read().strip().split()
    if len(parts) != 3:
        return
    c, b, m = map(float, parts)

    coords = find_triangle_coordinates(b, c, m)
    if coords is None:
        print("Mission impossible")
        return

    # Print each point with several decimal places
    for x, y in coords:
        print(f"{x:.6f} {y:.6f}")

if __name__ == "__main__":
    main()
```

5. Compressed Editorial
- Use median formula: m² = (2b² + 2c² − a²)/4 ⇒ a² = 2(b² + c²) − 4m²
- Check a² ≥ 0 and triangle inequalities.
- Place A=(0,0), B=(c,0).
- Compute cos A = (c² + b² − a²)/(2bc), sin A = √(1−cos² A).
- Set C=(b cos A, b sin A).
- If any check fails, print "Mission impossible".
