Unavailable dates should be represented by their number.
Available dates chosen for a match should be marked with an "X".
Available dates that are not used for a match (because M matches have already been scheduled) should be represented by their number.
The first line contains a space-separated list of integers representing the occupied dates.
The second line contains a single integer M, representing the number of match days required.
If scheduling is possible, print a single line containing the resulting sequence of dates, separated by spaces.
If it is impossible to schedule M matches, print the string "Impossible".
Using a hash set for the occupied dates will allow for efficient O(1) lookups to check if a date is available.