Olivia gave Sofia a donut on a piano .
give . agent ( x _ 1 , Olivia ) AND give . recipient ( x _ 1 , Sofia ) AND give . theme ( x _ 1 , x _ 4 ) AND donut ( x _ 4 ) AND donut . nmod . on ( x _ 4 , x _ 7 ) AND piano ( x _ 7 )