What is required in order for same sex-marriages to be recognized for immigration purposes?

a) The same-sex marriage must be valid in the jurisdiction where the marriage took place.
b) The same-sex couple must have a marriage license.
c) Both parties must have been at least 18-years-old when the marriage took place.
d) All of the above