# Search example
```cpp=
#include<stdio.h>
int maxPrice = 0;
void search(int price[3], int weight[3], int n, int currentProduct, int currentWeight, int currentPrice) {
if (currentProduct == 3) {
if (currentPrice > maxPrice) {
maxPrice = currentPrice;
}
return;
}
int weightRemain = n - currentWeight;
for (int i = 0; i * weight[currentProduct] <= weightRemain; i++) {
int newWeight = currentWeight + i * weight[currentProduct];
int newPrice = currentPrice + i * price[currentProduct];
search(price, weight, n, currentProduct + 1, newWeight, newPrice);
}
}
int main() {
int n;
int weight[3];
int price[3];
scanf("%d", &n);
scanf("%d%d%d%d%d%d", &price[0], &weight[0], &price[1], &weight[1], &price[2], &weight[2]);
search(price, weight, n, 0, 0, 0);
printf("%d\n", maxPrice);
return 0;
}
```