<p>You are given an array of <strong>distinct</strong> integers <code>arr</code> and an array of integer arrays <code>pieces</code>, where the integers in <code>pieces</code> are <strong>distinct</strong>. Your goal is to form <code>arr</code> by concatenating the arrays in <code>pieces</code> <strong>in any order</strong>. However, you are <strong>not</strong> allowed to reorder the integers in each array <code>pieces[i]</code>.</p> <p>Return <code>true</code> <em>if it is possible </em><em>to form the array </em><code>arr</code><em> from </em><code>pieces</code>. Otherwise, return <code>false</code>.</p> <p> </p> <p><strong>Example 1:</strong></p> <pre> <strong>Input:</strong> arr = [15,88], pieces = [[88],[15]] <strong>Output:</strong> true <strong>Explanation:</strong> Concatenate [15] then [88] </pre> <p><strong>Example 2:</strong></p> <pre> <strong>Input:</strong> arr = [49,18,16], pieces = [[16,18,49]] <strong>Output:</strong> false <strong>Explanation:</strong> Even though the numbers match, we cannot reorder pieces[0]. </pre> <p><strong>Example 3:</strong></p> <pre> <strong>Input:</strong> arr = [91,4,64,78], pieces = [[78],[4,64],[91]] <strong>Output:</strong> true <strong>Explanation:</strong> Concatenate [91] then [4,64] then [78] </pre> <p> </p> <p><strong>Constraints:</strong></p> <ul> <li><code>1 <= pieces.length <= arr.length <= 100</code></li> <li><code>sum(pieces[i].length) == arr.length</code></li> <li><code>1 <= pieces[i].length <= arr.length</code></li> <li><code>1 <= arr[i], pieces[i][j] <= 100</code></li> <li>The integers in <code>arr</code> are <strong>distinct</strong>.</li> <li>The integers in <code>pieces</code> are <strong>distinct</strong> (i.e., If we flatten pieces in a 1D array, all the integers in this array are distinct).</li> </ul>