Lincecum goes 7, fans 10 as Giants top Marlins 3-0