Question: How do I see if a specific matrix product exists?

Hi! Any help would be greatly appreciated :)

I have two matrices S and R, where 

S := Matrix( [ [a_1, a_2, a_3, a_4], [b_1, b_2, b_3, b_4], [c_1, c_2, c_3, c_4], [d_1, d_2, d_3, d_4] ] );

such that 

a_1*d_1 = b_1*c_1
a_2*d_2 = b_2*c_2
a_3*d_3 = b_3*c_3
a_4*d_4 = b_4*c_4;
R := Matrix( [ [s_1, t_1, r_1, l_1], [s_2, t_2, r_2, l_2], [s_3, t_3, r_3, l_3], [s_4, t_4, r_4, l_4] ] );
such that 
s_1*l_1 = t_1*r_1
s_2*l_2 = t_2*r_2
s_3*l_3 = t_3*r_3
s_4*l_4 = t_4*r_4.
Now I have a specific matrix T, where
T := Matrix( [ [1, 0, 0, 1], [0, 1, 0, 0], [0, 1, 0, 0], [1, 0, 0, 1] ] );
I want to know if there is a solution to T = S*R. I'm not sure how to create the matrices such that the entries satisfy those constraints that I've listed. 
Also, this might be a stretch, but I'd like to know if, in general, any 4x4 matrix can be written as a product of matrices of the form S and R (where S and R satisfy those constraints). Probably this last question is difficult to answer, but certainly determining the solution (if it exists!) to T=S*R must be possible. Thanks for your help!
Please Wait...