Scientists working internationally use metric units almost exclusively. Unless that is, they wish to crash multimillion dollars worth of equipment on Mars.
Your task is to write a simple function that takes a number of meters, and outputs it using metric prefixes.
In practice, meters are only measured in "mm" (thousandths of a meter), "cm" (hundredths of a meter), "m" (meters) and "km" (kilometers, or clicks for the US military).
For this exercise we just want units bigger than a meter, from meters up to yottameters, excluding decameters and hectometers.
All values passed in will be positive integers.
e.g.
```python
meters(5);
// returns "5m"
meters(51500);
// returns "51.5km"
meters(5000000);
// returns "5Mm"
```
See http://en.wikipedia.org/wiki/SI_prefix for a full list of prefixes
def meters(x):
  units = [('Y', 24), ('Z', 21), ('E', 18), ('P', 15), ('T', 12), ('G', 9), ('M', 6), ('k', 3), ('', 0)]
  return next(f'{str(x / 10 ** p).replace(".0", "")}{u}m' for u, p in units if x // 10 ** p >= 1)
def meters(x):
  units = [('Y', 24), ('Z', 21), ('E', 18), ('P', 15), ('T', 12), ('G', 9), ('M', 6), ('k', 3), ('', 0)]
  return next(f'{str(x / 10 ** p).replace(".0", "")}{u}m' for u, p in units if x // 10 ** p >= 1)