In this challenge about prefix code, we learnt that prefix codes are uniquely concatenable.
That means, they can be joined together without separator, and without ambiguity.
For example, since [1,2,45] is a prefix code, I can join them together without separator as such: 1245245112145, and there will be no ambiguity.
However the converse is not always true.
For example, [3,34] is not a prefix code. However, I can do the same: 3333434334333, and there will be no ambiguity. You would just need a smarter parser.
However, [1,11] is not uniquely concatenable, because 1111 can be interpreted in 5 ways.
Your task is to write a program/function that takes a list of strings (ASCII) as input, and determine if they are uniquely concatenable.
Duplicate counts as false.
This is code-golf. Shortest solution in bytes wins.
[12,21,112] [12,112,1112] [3,4,35] [2,3,352]
[1,1] [1,2,112] [1,23,4,12,34] [1,2,35,4,123,58,8]