interface Numeric where {

interface ! Numeric
{-# NEED readHex #-}
readHex{-# 2 #-}::(Prelude.Integral a) => (Prelude.SR -> (Prelude.Trace -> (Prelude.R (Prelude.ReadS a))));

{-# NEED showInt #-}
showInt{-# 2 #-}::(Prelude.Integral a) => (Prelude.SR -> (Prelude.Trace -> (Prelude.R (Prelude.Trace -> ((Prelude.R a) -> (Prelude.R Prelude.ShowS))))));

{-# NEED readInt #-}
readInt{-# 2 #-}::(Prelude.Integral a) => (Prelude.SR -> (Prelude.Trace -> (Prelude.R (Prelude.Trace -> ((Prelude.R a) -> (Prelude.R (Prelude.Trace -> ((Prelude.R (Prelude.Trace -> ((Prelude.R Prelude.Char) -> (Prelude.R Prelude.Bool)))) -> (Prelude.R (Prelude.Trace -> ((Prelude.R (Prelude.Trace -> ((Prelude.R Prelude.Char) -> (Prelude.R Prelude.Int)))) -> (Prelude.R (Prelude.ReadS a)))))))))))));

{-# NEED readOct #-}
readOct{-# 2 #-}::(Prelude.Integral a) => (Prelude.SR -> (Prelude.Trace -> (Prelude.R (Prelude.ReadS a))));

{-# NEED showFloat #-}
showFloat{-# 2 #-}::(Prelude.RealFloat a) => (Prelude.SR -> (Prelude.Trace -> (Prelude.R (Prelude.Trace -> ((Prelude.R a) -> (Prelude.R Prelude.ShowS))))));

{-# NEED readFloat #-}
readFloat{-# 2 #-}::(Prelude.RealFrac a) => (Prelude.SR -> (Prelude.Trace -> (Prelude.R (Prelude.ReadS a))));

{-# NEED showGFloat #-}
showGFloat{-# 2 #-}::(Prelude.RealFloat a) => (Prelude.SR -> (Prelude.Trace -> (Prelude.R (Prelude.Trace -> ((Prelude.R (Prelude.Maybe Prelude.Int)) -> (Prelude.R (Prelude.Trace -> ((Prelude.R a) -> (Prelude.R Prelude.ShowS)))))))));

{-# NEED showFFloat #-}
showFFloat{-# 2 #-}::(Prelude.RealFloat a) => (Prelude.SR -> (Prelude.Trace -> (Prelude.R (Prelude.Trace -> ((Prelude.R (Prelude.Maybe Prelude.Int)) -> (Prelude.R (Prelude.Trace -> ((Prelude.R a) -> (Prelude.R Prelude.ShowS)))))))));

{-# NEED showEFloat #-}
showEFloat{-# 2 #-}::(Prelude.RealFloat a) => (Prelude.SR -> (Prelude.Trace -> (Prelude.R (Prelude.Trace -> ((Prelude.R (Prelude.Maybe Prelude.Int)) -> (Prelude.R (Prelude.Trace -> ((Prelude.R a) -> (Prelude.R Prelude.ShowS)))))))));

{-# NEED fromRat #-}
fromRat{-# 2 #-}::(Prelude.RealFloat a) => (Prelude.SR -> (Prelude.Trace -> (Prelude.R (Prelude.Trace -> ((Prelude.R Ratio.Rational) -> (Prelude.R a))))));
interface Ratio
{-# NEED Rational #-}
type {-# 1 #-} Rational = (Ratio.Ratio Prelude.Integer);

{-# NEED Ratio #-}
data (Prelude.Integral a) => Ratio a;
interface ! Numeric
{-# NEED lexDigits #-}
lexDigits{-# 2 #-}::(Prelude.SR -> (Prelude.Trace -> (Prelude.R (Prelude.ReadS Prelude.String))));

{-# NEED floatToDigits #-}
floatToDigits{-# 2 #-}::(Prelude.RealFloat a) => (Prelude.SR -> (Prelude.Trace -> (Prelude.R (Prelude.Trace -> ((Prelude.R Prelude.Integer) -> (Prelude.R (Prelude.Trace -> ((Prelude.R a) -> (Prelude.R ([Prelude.Int],Prelude.Int))))))))));

{-# NEED showIntAtBase #-}
showIntAtBase{-# 2 #-}::(Prelude.Integral a) => (Prelude.SR -> (Prelude.Trace -> (Prelude.R (Prelude.Trace -> ((Prelude.R a) -> (Prelude.R (Prelude.Trace -> ((Prelude.R (Prelude.Trace -> ((Prelude.R Prelude.Int) -> (Prelude.R Prelude.Char)))) -> (Prelude.R (Prelude.Trace -> ((Prelude.R a) -> (Prelude.R Prelude.ShowS))))))))))));

{-# NEED showHex #-}
showHex{-# 2 #-}::(Prelude.Integral a) => (Prelude.SR -> (Prelude.Trace -> (Prelude.R (Prelude.Trace -> ((Prelude.R a) -> (Prelude.R Prelude.ShowS))))));

{-# NEED showOct #-}
showOct{-# 2 #-}::(Prelude.Integral a) => (Prelude.SR -> (Prelude.Trace -> (Prelude.R (Prelude.Trace -> ((Prelude.R a) -> (Prelude.R Prelude.ShowS))))));

{-# NEED showBin #-}
showBin{-# 2 #-}::(Prelude.Integral a) => (Prelude.SR -> (Prelude.Trace -> (Prelude.R (Prelude.Trace -> ((Prelude.R a) -> (Prelude.R Prelude.ShowS))))));

{-# NEED showSigned #-}
showSigned{-# 2 #-}::(Prelude.Real a) => (Prelude.SR -> (Prelude.Trace -> (Prelude.R (Prelude.Trace -> ((Prelude.R (Prelude.Trace -> ((Prelude.R a) -> (Prelude.R Prelude.ShowS)))) -> (Prelude.R (Prelude.Trace -> ((Prelude.R Prelude.Int) -> (Prelude.R (Prelude.Trace -> ((Prelude.R a) -> (Prelude.R Prelude.ShowS))))))))))));

{-# NEED readSigned #-}
readSigned{-# 2 #-}::(Prelude.Real a) => (Prelude.SR -> (Prelude.Trace -> (Prelude.R (Prelude.Trace -> ((Prelude.R (Prelude.ReadS a)) -> (Prelude.R (Prelude.ReadS a)))))));

{-# NEED readDec #-}
readDec{-# 2 #-}::(Prelude.Integral a) => (Prelude.SR -> (Prelude.Trace -> (Prelude.R (Prelude.ReadS a))));
}
