Consider the following 3-PARTITION problem. Given integers a1; : : : ; an, we want to determine whether it is possible to partition of f1; : : : ; ng into three disjoint subsets I; J;K such that X i2I ai = X j2J aj = X k2K ak = 1 3 Xn i=1 ai For example, for input (1; 2; 3; 4; 4; 5; 8) the answer is yes, because there is the partition (1; 8), (4; 5), (2; 3; 4). On the other hand, for input (2; 2; 3; 5) the answer is no. Devise and analyze a dynamic programming algorithm for 3-PARTITION that runs in time polynomial in n and in P i ai.