椭圆曲线
题号:NC207956
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

椭圆曲线加密算法是在椭圆曲线有限域上进行加密的算法,一般的椭圆曲线为,其中p为质数。
椭圆曲线上的点的运算满足以下规则:
  1. 曲线上A、B不同两点相加,过A、B两点画一条直线,找到直线与椭圆曲线的交点,交点关于x轴对称位置的点,定义为A+B,即为加法。如下图所示:A + B = C
  2. 相同点A与A相加,过A点做切线,与椭圆曲线的交点,交点关于x轴对称位置的点,定义为A + A,即2A,即为二倍运算。
P(x_1,x_2),Q(x_2,y_2),R(x_3,y_3),其中R=P+Q,有




现有,牛牛得到了点P(x_1,y_1),你能告诉她是多少吗。
示例1

输入

复制
(0,1),3

返回值

复制
(72,611)

备注: