Runway scheduling with holding times

We are given n jobs. Each job has a release time before which it is not available. All the jobs have the same processing time. There are number windows different time slots in which the job can be scheduled, each of size window size and repeating every window distance. We wish to find a non-preemptive schedule for a single machine, with the property that each job is scheduled in one of its windows, and at any time at most one job is executed.

Input

All entries here must be integers.
window size
processing time (is the same as window size in this implementation)
window distance
nb windows
release times

Output