multi_source-tree.ai 181 Bytes
sink: "{ S[] -> a[] }"
must_source: "{ T[] -> a[]; U[] -> a[] }"
schedule:
  domain: "{ U[]; S[]; T[] }"
  child:
    sequence:
    - filter: "{ T[]; U[] }"
    - filter: "{ S[] }"