Generate a Python program that has the following intention:

The intention of the program below is to implement the Euclidean algorithm for finding the Greatest Common Divisor (GCD) of two numbers. The Euclidean algorithm is an efficient method to find the GCD of two numbers.

Here's a step-by-step explanation of the code:

1. The function p1(a, b) takes two integers a and b as arguments.
2. The function checks if b is equal to 0. If b is not equal to 0, it recursively calls p1 with the arguments b and a % b. This step is essentially replacing the larger number (initially b) with the remainder of the division between the two numbers (initially a).
3. If b is equal to 0, the function returns a. This means that a is the GCD of the two numbers a and b.

In summary, the intention of the program is to find the GCD of two numbers using the Euclidean algorithm.