MatchSum[MatchProduct[MatchPart[{1}, HoldPattern[x___],
MatchSum[MatchProduct[MatchPart[{}, HoldPattern[___],
MatchValues[Sequence[]]]]]],
MatchSum[MatchProduct[MatchPart[{2}, HoldPattern[y___],
MatchSum[MatchProduct[MatchPart[{}, HoldPattern[___],
MatchValues[Sequence[a, b, c]]]]]]]]],
MatchProduct[MatchPart[{1}, HoldPattern[x___],
MatchSum[MatchProduct[MatchPart[{}, HoldPattern[___],
MatchValues[Sequence[a]]]]]],
MatchSum[MatchProduct[MatchPart[{2}, HoldPattern[y___],
MatchSum[MatchProduct[MatchPart[{}, HoldPattern[___],
MatchValues[Sequence[b, c]]]]]]]]],
MatchProduct[MatchPart[{1}, HoldPattern[x___],
MatchSum[MatchProduct[MatchPart[{}, HoldPattern[___],
MatchValues[Sequence[a, b]]]]]],
MatchSum[MatchProduct[MatchPart[{2}, HoldPattern[y___],
MatchSum[MatchProduct[MatchPart[{}, HoldPattern[___],
MatchValues[Sequence[c]]]]]]]]],
MatchProduct[MatchPart[{1}, HoldPattern[x___],
MatchSum[MatchProduct[MatchPart[{}, HoldPattern[___],
MatchValues[Sequence[a, b, c]]]]]],
MatchSum[MatchProduct[MatchPart[{2}, HoldPattern[y___],
MatchSum[MatchProduct[MatchPart[{}, HoldPattern[___],
MatchValues[Sequence[]]]]]]]]]]