content: public class Codec {
      // Encodes a list of strings to a single string.
      public String encode(List<String> strs) {
          StringBuilder encodedString = new StringBuilder();
          // Iterate through the list of strings
          for (String s : strs) {
              // Append each string to the StringBuilder followed by the delimiter
              encodedString.append(s);
              encodedString.append("π");
          }
          // Return the entire encoded string
          return encodedString.toString();
      }
  
      // Decodes a single string to a list of strings.
      public List<String> decode(String s) {
          // Split the encoded string at each occurrence of the delimiter
          // Note: We use -1 as the limit parameter to ensure trailing empty strings are included
          String[] decodedStrings = s.split("π", -1);
          // Convert the array to a list and return it
          // Note: We remove the last element because it's an empty string resulting from the final delimiter
          return new ArrayList<>(Arrays.asList(decodedStrings).subList(0, decodedStrings.length - 1));
      }
  }