Consider the following CPU processes with arrival times (in milliseconds) and length of CPU bursts (in milliseconds) as given below:
$$\small \begin{array}{|c|c|c|} \hline \textbf{Process} & \textbf{Arrival Time} & \textbf{Burst Time}\\\hline \text{$P_1$} & 0 & 7 \\\hline \text{$P_2$} & 3 & 3 \\\hline \text{$P_3$} & 5 & 5 \\\hline \text{$P_4$} & 6 & 2 \\\hline \end{array}$$If the pre-emptive shortest remaining time first scheduling algorithm is used to schedule the processes, then the average waiting time across all processes is _____________ milliseconds.