g c x s y g c s x y f c s x y f c x s y f f x f d f x f x x rand x x rand x rand s x s 1 c 2 d 1 f 1 rand 1 g 1 FULL