from random import *
import math
n=int(input())
val=[]
ans=[]
for _ in range(50):
x=randint(1,n-1)
print("sqrt %d"%(x*x%n))
y=int(input())
if x!=y:
if x>y:
x, y=y, x
val.append(y-x),val.append(n//(y-x))
while n!=1:
p=n
for i in range(len(val)):
if math.gcd(p,val[i])!=1:
p=math.gcd(p,val[i])
for i in range(len(val)):
if val[i]%p==0:
val[i]=val[i]//p
while n%p==0:
n=n//p
ans.append(p)
print("!",len(ans),*ans)
1660A - Vasya and Coins | 1660E - Matrix and Shifts |
1293B - JOE is on TV | 1584A - Mathematical Addition |
1660B - Vlad and Candies | 1472C - Long Jumps |
1293D - Aroma's Search | 918A - Eleven |
1237A - Balanced Rating Changes | 1616A - Integer Diversity |
1627B - Not Sitting | 1663C - Pōja Verdon |
1497A - Meximization | 1633B - Minority |
688B - Lovely Palindromes | 66B - Petya and Countryside |
1557B - Moamen and k-subarrays | 540A - Combination Lock |
1553C - Penalty | 1474E - What Is It |
1335B - Construct the String | 1004B - Sonya and Exhibition |
1397A - Juggling Letters | 985C - Liebig's Barrels |
115A - Party | 746B - Decoding |
1424G - Years | 1663A - Who Tested |
1073B - Vasya and Books | 195B - After Training |