import java.util.*;
import java.util.zip.*;
import java.util.List;
import java.util.regex.*;
import java.util.concurrent.*;
import java.util.concurrent.atomic.*;
import java.util.concurrent.locks.*;
import java.util.function.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.text.*;
import javax.swing.table.*;
import java.io.*;
import java.net.*;
import java.lang.reflect.*;
import java.lang.ref.*;
import java.lang.management.*;
import java.security.*;
import java.security.spec.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.awt.geom.*;
import javax.imageio.*;
import java.math.*;
// angle between p1 and p2 with respect to center point
// result is between -pi() and pi()
class main {

static double threePointAngle(IDoublePt p1, IDoublePt center, IDoublePt p2) {
  return atan2(
      p1.x_double()-center.x_double(),
      p1.y_double()-center.y_double())
    -atan2(
      p2.x_double()-center.x_double(),
      p2.y_double()-center.y_double());
}
static double atan2(double x, double y) {
  return Math.atan2(x, y);
}




interface IDoublePt {
  public double x_double();
  public double y_double();
}

}