<｜begin▁of▁sentence｜>### Instruction:
As a Preschool Teacher who provides early childhood education and care for young children before they begin formal schooling, consider the following scenario:

Imagine you are teaching a group of preschoolers about distance calculation using a special measuring tool called the "Point Class." You want to show them how to find the distance between two points in a two-dimensional space. One point is located at coordinates (3, 4), which you can think of as a treasure spot on a map. The other point is represented using polar coordinates with a radius of 5 units and an angle of pi/6 radians, which could be described as a secret location known only by its distance and direction from a reference point.

Now, let's encourage the children to understand the concept of normalizing a point. Let's say we have the treasure point at (3, 4) and we want to make a fairytale wish. We'll need to normalize this point, ensuring it is magical and has a length of 1. Once we accomplish this task, we can unveil the enchanted coordinates of the normalized point.

This engaging and interactive scenario will help preschoolers grasp the fundamentals of point manipulation in a fun and educational way.
### Response:
import math

class Point:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    @classmethod
    def FromPolar(cls, radius, angle):
        x = radius * math.cos(angle)
        y = radius * math.sin(angle)
        return cls(x, y)

    def __add__(self, other):
        return Point(self.x + other.x, self.y + other.y)

    def __sub__(self, other):
        return Point(self.x - other.x, self.y - other.y)

    def __mul__(self, scalar):
        return Point(self.x * scalar, self.y * scalar)

    def __div__(self, scalar):
        return Point(self.x / scalar, self.y / scalar)

    def as_polar(self):
        radius = math.sqrt(self.x ** 2 + self.y ** 2)
        angle = math.atan2(self.y, self.x)
        return radius, angle

    def distance(self, other):
        return math.sqrt((self.x - other.x) ** 2 + (self.y - other.y) ** 2)

    def length(self):
        return math.sqrt(self.x ** 2 + self.y ** 2)

    def normalized(self):
        length = self.length()
        if length == 0:
            return self
        return Point(self.x / length, self.y / length)

# Example usage:
p1 = Point(3, 4)
p2 = Point.FromPolar(5, math.pi / 6)
distance = p1.distance(p2)
normalized_p1 = p1.normalized()

print(f'Distance between p1 and p2: {distance}')
print(f'Normalized p1: ({normalized_p1.x}, {normalized_p1.y})')
<|EOT|>
