# Form a list using prime numbers

## 05AB1E, 13 bytes

```
Ò.»â€˜ʒ÷DÙQ}θ
```

**Try it online!**

A port of my Pyth answer.

`Ò`

gets the prime fact**Ò**rs of each.`.»`

folds a dyadic command,`â`

(c**â**rtesi**â**n product) between each two elements in the list from right to left with opposite right/left operands.`€˜`

flattens**€**ach.`ʒ...}`

filt**ʒ**rs those which satisfy the following condition:`÷`

pairwise integer division with the input.`D`

**D**uplicate (pushes two copies of the item to the stack).`Ù`

removes duplicate elements, keeping a**Ù**niq**Ù**e occurrence of each element.`Q`

checks for e**Q**uality.

`θ`

gets the last element.

## Jelly, ~~ 15 ~~ 14 bytes

```
³:ŒQẠ
ÆfŒpÇÐfṪ
```

A full-program which accepts one argument, a list of numbers, and prints a representation of another list of numbers, or `0`

if the task is impossible.

**Try it online!**

### How?

```
³:ŒQẠ - Link 1, unique after division?: list of primes, Ps e.g. [7,2,2] or [7,3,3]
³ - program's first input e.g. [7,8,8] or [7,9,30]
: - integer division by Ps [1,4,4] [1,3,10]
ŒQ - distinct sieve [1,1,0] [1,1,1]
Ạ - all truthy? 0 1
ÆfŒpÇÐfṪ - Main link: list of coin stack sizes, Bs e.g. [7,8,12]
Æf - prime factorisation (vectorises) [[7],[2,2,2],[2,2,3]]
Œp - Cartesian product [[7,2,2],[7,2,2],[7,2,3],[7,2,2],[7,2,2],[7,2,3],[7,2,2],[7,2,2],[7,2,3]]
Ðf - filter keep if:
Ç - call last link (1) as a monad 1 1 0 1 1 0 1 1 0
- [[7,2,2],[7,2,2],[7,2,2],[7,2,2],[7,2,2],[7,2,2]]
Ṫ - tail (note: tailing an empty list yields 0) [7,2,2]
- implicit print
```

## Pyth, 15 bytes

```
ef{I/VQT.nM*FPM
```

**Try it here!**

### How?

ef{I/VQT.nM*FPM | Full program, which foregoes the size. | PM | Prime factorisation of each integer. *F | Fold Cartesian Product over the list of primes. .nM | Flatten each. f | Filter. {I/VQT | Filter condition (uses a variable T). /V | Vectorised integer division... QT | Over the input and the current item. {I | Is invariant over deduplication (removing duplicates)? e | Take the last element. | Output the result implicitly.