[ q := N // p , Q := q -1 , P := p -1 , t := Q * P , e := 2 ** 16 + 1 ] [ a := e , m := t , m0 := m , x0 := 0 , x1 := 1 ] [ q := a // m, M := m , m := a % m , a := M , X0 := x0 , x0 := x1 - q * x0 , x1 := X0 ] [ q := a // m, M := m , m := a % m , a := M , X0 := x0 , x0 := x1 - q * x0 , x1 := X0 ] [ q := a // m, M := m , m := a % m , a := M , X0 := x0 , x0 := x1 - q * x0 , x1 := X0 ] [ q := a // m, M := m , m := a % m , a := M , X0 := x0 , x0 := x1 - q * x0 , x1 := X0 ] [ q := a // m, M := m , m := a % m , a := M , X0 := x0 , x0 := x1 - q * x0 , x1 := X0 ] [ q := a // m, M := m , m := a % m , a := M , X0 := x0 , x0 := x1 - q * x0 , x1 := X0 ] [ q := a // m, M := m , m := a % m , a := M , X0 := x0 , x0 := x1 - q * x0 , x1 := X0 ] [ q := a // m, M := m , m := a % m , a := M , X0 := x0 , x0 := x1 - q * x0 , x1 := X0 ] [ q := a // m, M := m , m := a % m , a := M , X0 := x0 , x0 := x1 - q * x0 , x1 := X0 ] [ q := a // m, M := m , m := a % m , a := M , X0 := x0 , x0 := x1 - q * x0 , x1 := X0 ] [ d := [ x1 , x1 + m0 ][ x1 < 0 ] ] [ r := 1 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ][ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] [ r := [ r , ( r * c ) % N ][ d % 2 == 1 ] , c := (c * c) % N, d := d // 2 ] X( r )