How to get instance label based on not having other label value

I have a metric with label , say subject, having different values. I need to get list of instances subject !~“some subject”
if i run
metric{subject!~“.some subject.”)
i get result with all other subjects and all instances.
If i run
count by(instance) (metric{subject!~“.some subject.”) )
i get all instances

i can run
metric{subject~=".some subject.) then i get only instances where that subject is present but then how can i subtract this list from all instance list?

something like

count by (instance) (metric) - (count by (instance) (metric{subject~=“.some subject.”) )

how to do that?

Thanks

-M