#include <iostream>
#include<vector>
#include<unordered_map>
using namespace std;

int main() {
	vector<int> nums={1,2,3};
	int k=2;
	int low=0;
	int high=0;
	int count=0;
	unordered_map<int,int> m;
	
	for(high=0;high<nums.size();high++) {
		m[nums[high]]++;
		while(m.size()>k && low<=high) {
			m[nums[low]]--;
			if(m[nums[low]]==0) {
				m.erase(nums[low]);
			}
			low++;
		}
		count+=high-low+1;
	}
	cout<<count<<endl;
	return 0;
}