sqrt function not working properly    
   I have the following code where I want to substitute a, b, c into s. Since s factors as a square, I want to get the square root of it :
p, t= var('p t')
a=(-2*p*t^2-p^2*t)+(2*t*p-p^2)+t+1
b=(p*t^2+2*p^2*t)+(2*t*p-t^2)-p+1
c=(p*t^2-p^2*t)+(t^2+2*t*p+p^2)+t-p  #3 sides (a,b,c) in terms of theta and phi [equation (1.1)]
s=(factor(2*c^2+2*a^2-b^2));s
S=s.sqrt();S
Unfortunately the answer I get is
sqrt((3*p*t^2 - 2*p^2 - 2*p*t + t^2 + p + 2*t + 1)^2)
The sqrt and the square power does not cancel off which I want it to cancel. I tried using the code S.simplify_full() to simplify it hoping the sqrt and square power will cancel off but no luck. Is there any other specific code I can use for that.
 
 