Multiply Strings

Two shards of a distributed counter service store their local counts as non negative decimal strings num1 and num2. The values can be far beyond 64 bit range, with up to 200 digits each, and the usual numeric type cannot hold them. Leading zeros never appear except for the single zero value "0" itself.

Implement solve(num1, num2) that returns the exact decimal product of the two counters as a string, without leading zeros. Do not convert the entire string to a built in integer or BigInt, use only digit level arithmetic and the standard library.

This operation is used when the coordinator needs the Cartesian product cardinality of two independently scaled counter partitions, computed purely on the string representation to avoid overflow and to keep shard serialization stable.

Examples
Input: ["12","34"]
Output: "408"
Hints

Multiply Strings

Two shards of a distributed counter service store their local counts as non negative decimal strings `num1` and `num2`. The values can be far beyond 64 bit range, with up to 200 digits each, and the usual numeric type cannot hold them. Leading zeros never appear except for the single zero value `"0"` itself.