def p_sign(secret, message)
      a, prefix = secret_expand(secret)
      _A = point_compress(point_mul(a, @@G))
      r = hash512_modq(prefix + message)
      _R = point_mul(r, @@G)
      _Rs = point_compress(_R)
      h = hash512_modq(_Rs + _A + message)
      s = (r + h * a) % @@q
      return _Rs + int_to_bytes(s,32)
    end
def p_sign(secret, message)
      a, prefix = secret_expand(secret)
      _A = point_compress(point_mul(a, @@G))
      r = hash512_modq(prefix + message)
      _R = point_mul(r, @@G)
      _Rs = point_compress(_R)
      h = hash512_modq(_Rs + _A + message)
      s = (r + h * a) % @@q
      return _Rs + int_to_bytes(s,32)
    end
region sign and verify 
 [ signature format ]
 | compressed data of _R | s | <- concatnate