Question Title: Supplier Management, Militant Search Problem Statement: You are given three different programming tasks based on common scenarios. Write solutions to meet the requirements of the tasks below. --- Task 1: Supplier Management System A company maintains a list of suppliers and the products they provide. You need to: 1. Store the details of suppliers and their products. 2. Find suppliers based on a product ID. 3. Find the number of products with a specific supplier based on their ID and name. Input Format: First, an integer n representing the number of suppliers. For each supplier: An integer id (Supplier ID). A string name (Supplier Name). A long mobile (Supplier Mobile Number). An integer numProd (Number of products the supplier provides). For each product: An integer prodId (Product ID). A string prodName (Product Name). A double prodPrice (Product Price). An integer productId for which you need to find suppliers. An integer supplierId and a string supplierName to count products with that supplier. Output Format: Print the details of suppliers providing the given product ID. Print the number of products with the supplier of the given ID and name. --- Task 2: Militant Search System A list of militants is maintained for security operations. You need to: 1. Search for a militant based on their ID. 2. List militants with less than 2 years of experience. Input Format: An integer n representing the number of militants. For each militant: An integer id (Militant ID). A string name (Militant Name). A string category (Militant Category). A double experience (Militant's years of experience). An integer searchId representing the ID of the militant to search for. Output Format: Print the details of the militant with the given ID or a message if not found. Print the details of militants with less than 2 years of experience or a message if no such militants exist. --- Constraints: All IDs are unique. Supplier names are case-insensitive for equality checks. 1 ≤ n ≤ 100 for each task. 0 ≤ prodPrice ≤ 10^6 0 ≤ experience ≤ 50 1 ≤ t ≤ 100 --- Sample Input 1 (Task 1): 2 1 Supplier1 9876543210 2 101 Product1 100.50 102 Product2 200.75 2 Supplier2 9876543211 1 103 Product3 150.00 102 1 Supplier1 Sample Output 1 (Task 1): Supplier name: Supplier1 Supplier mobile: 9876543210 The number of products with mentioned supplier is :2 --- Sample Input 2 (Task 2): 3 1 John Sniper 1.5 2 Alice Scout 2.5 3 Bob Medic 0.8 1 Sample Output 2 (Task 2): 1 John Sniper 1.5 3 Bob Medic 0.8 --- Notes: Ensure all inputs and outputs follow the formats precisely. Optimize the solutions for efficiency. Use the provided class structure to solve the tasks effectively. ********************************************************************************************************************************** Code ********************************************************************************************************************************** import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class Solution { public static void main(String args[]) throws Exception { Scanner sc = new Scanner(System.in); int num = sc.nextInt(); sc.nextLine(); List sup = new ArrayList<>(); for(int i = 0; i < num; i++){ int id = sc.nextInt(); sc.nextLine(); String name = sc.nextLine(); long mobile = sc.nextLong(); sc.nextLine(); int numProd = sc.nextInt(); sc.nextLine(); ListproductList = new ArrayList<>(); for(int j = 0; j < numProd; j++){ int prodId = sc.nextInt(); sc.nextLine(); String prodName = sc.nextLine(); double prodPrice = sc.nextDouble(); sc.nextLine(); Product newProd = new Product(prodId, prodName, prodPrice); productList.add(newProd); } Supplier sup1 = new Supplier(id, name, mobile, productList); sup.add(sup1); } int newProdId = sc.nextInt(); //sc.nextLine(); List s = getSupplierBasedOnProduct(sup, newProdId); if(!s.isEmpty()){ for (Supplier supplier : s) { System.out.println("Supplier name: "+supplier.name); System.out.println("Supplier mobile: "+supplier.mobile); } }else{ System.out.println("No supplier available for the product."); } int newSupId = sc.nextInt();sc.nextLine(); String newSupName = sc.nextLine(); int suppCount = productsWithTheSupplier(sup, newSupId, newSupName); if(suppCount == 0){ System.out.println("No supplier found"); }else{ System.out.println("The number of products with mentioned supplier is :"+suppCount); } } public static List getSupplierBasedOnProduct(List sup, int id){ List resSup = new ArrayList<>(); for(Supplier it : sup){ for(Product p : it.productList){ if(p.prodId == id) resSup.add(it); } } return resSup; } public static int productsWithTheSupplier(List sup, int id, String name){ int count = 0; for(Supplier it : sup){ if(it.id == id && it.name.equalsIgnoreCase(name)){ count = it.productList.size(); } } return count; } } // ----------------------- Product - Supplier --------------------------- class Supplier{ int id; String name; long mobile; ListproductList; public Supplier(int id, String name, long mobile, ListproductList){ this.id = id; this.name = name; this.mobile = mobile; this.productList = productList; } } class Product{ int prodId; String prodName; double prodPrice; public Product(int a, String b, double c){ this.prodId = a; this.prodName = b; this.prodPrice = c; } } Question Title: Supplier Management, Problem Statement: You are given three different programming tasks based on common scenarios. Write solutions to meet the requirements of the tasks below. --- Task 1: Supplier Management System A company maintains a list of suppliers and the products they provide. You need to: 1. Store the details of suppliers and their products. 2. Find suppliers based on a product ID. 3. Find the number of products with a specific supplier based on their ID and name. Input Format: First, an integer n representing the number of suppliers. For each supplier: An integer id (Supplier ID). A string name (Supplier Name). A long mobile (Supplier Mobile Number). An integer numProd (Number of products the supplier provides). For each product: An integer prodId (Product ID). A string prodName (Product Name). A double prodPrice (Product Price). An integer productId for which you need to find suppliers. An integer supplierId and a string supplierName to count products with that supplier. Output Format: Print the details of suppliers providing the given product ID. Print the number of products with the supplier of the given ID and name.