+template<class T>
+inline std::ostream &operator <<(std::ostream &out, const Point<T> &p) {
+ out << '(' << p.X() << ", " << p.Y() << ')';
+ return out;
+}
+template<class T>
+inline std::ostream &operator <<(std::ostream &out, const Vector<T> &v) {
+ out << '<' << v.X() << ", " << v.Y() << '>';
+ return out;
+}
+