local n=io.read("n")
local iwashi={}
for i=1,n do
    local a,b=io.read("n","n")
    iwashi[a/b]=(iwashi[a/b] or 0)+1
    iwashi[-b/a]=(iwashi[-b/a] or 0)+1
end

local counter=1
for i=1,n do
    counter=counter*2%1000000007
end
counter=counter-1

for k,v in pairs(iwashi) do
    if iwashi[k] and iwashi[-k] then
        counter=counter-(iwashi[k]*iwashi[-k]%1000000007)
    end
end
print(counter)