def get_moving_window_size(observation_sample, action_sample, window_size):
    """This function returns the number of dimensions in the moving window feature and target vectors.

    Args:
       observation_sample (2-D numpy array):  A sample observation with just one row.
       action_sample (2-D numpy array): A sample action with just one row
       window size (int): The number of last time-steps in the moving window

    Returns:
       int: drift in terms of the number of dimensions in the moving windows feature vector
       int: number of dimensions in the moving windows feature vector
       int: number of dimensions in the moving windows target vector

    A way you might use me is
    >>> get_moving_window_size(observation_sample=np.array([[1., 2., 3.]]), action_sample=np.array([[10., 5.]]), window_size=3)
    15

    """
    drift_per_time_step = observation_sample.shape[1]+action_sample.shape[1]+1
    moving_window_size_x = (window_size-1)*(drift_per_time_step) + observation_sample.shape[1]
    moving_window_size_y = action_sample.shape[1]
    return drift_per_time_step, moving_window_size_x, moving_window_size_y