Revision 8095d0fe-9569-4f20-a9fc-bc6142a4c19e - Code Golf Stack Exchange

## Python 2/3, <s>220</s> 202 bytes

<!-- language-all: lang-python -->

 g=lambda a,b:a and g(b%a,a)or b
 def f(n,d):
 m=[];c=[]
 while n+d>2:
 t=n*d;f=p=2
 while t>p:
 if t%p:p+=1;f*=p
 else:t/=p
 if n%p:c+=[p];n*=f
 else:m+=[p];d*=f
 t=g(n,d);n/=t;d/=t
 return[m,c]

[Try it online!][TIO-j8h4jy7b] Edit: Saved 18 bytes thanks to @Mr.Xcoder.

[Python 2]: https://docs.python.org/2/
[TIO-j8h4jy7b]: https://tio.run/##LY7NCoMwEAbveYq9CP4ErN5qWF9EPESTqKBrSLeUPr2N2svAN7OH9V@ed6qPY8JVb4PRoOXQRJKBKR0SLXW2BxiEsQ5cStJkjYANu16NEQI@87JaoMK0dQzASLlRDj3Wcd2RW38mWBxw4htfYKVcjv50dn3ZhstrxE6xjwV2vleUoxP/g@1W5laM0/WIohJZmQgBwfI7ULfJsT98WIhTlz5l9ciy4wc "Python 2 – Try It Online"

AltStyle によって変換されたページ (->オリジナル) /