//@auther hussein zayed
#include <bits/stdc++.h>
using namespace std;
int n;
vector<long long> c(8,1000003); // arrC to save count A,B,C,AB,AC,CB,ABC but put price it ;
vector<long long>arr; //arr to save price sum index with together from arrC
//then do ABC
int main()
{
string s,S="";
int a=0,b=0,C=0;
ios::sync_with_stdio(0);
cin >> n;
for(int i = 0; i < n; i++)
{
int x;
cin >> x >> s;
S+=s;
// arrC.......
if(s == "A"){
if(c[0]>x)
c[0]=x;}
else if(s == "B"){
if(c[1]>x)
c[1]=x;}
else if(s == "C"){
if(c[2]>x)
c[2]=x;}
else if(s == "AB" || s == "BA"){
if(c[3]>x)
c[3]=x;}
else if(s == "BC" || s == "CB"){
if(c[4]>x)
c[4]=x;}
else if(s == "AC" || s == "CA"){
if(c[5]>x)
c[5]=x;}
else{
if(c[6]>x)
c[6]=x;}
}
//if dont found A or B or C print -1;
for(int i=0;i<S.size();++i){
if(S[i]=='A')
a++;
else if(S[i]=='B')
b++;
else
C++;
}
if(a==0||b==0||C==0){
cout<<a;
cout<<-1;
return 0;
}
// arr price then found now
if(c[0]!=0&&c[1]!=0&&c[2]!=0)
arr.push_back(c[0]+c[1]+c[2]);
if(c[0]!=0&&c[4]!=0)
arr.push_back(c[0]+c[4]);
if(c[1]!=0&&c[5]!=0)
arr.push_back(c[1]+c[5]);
if(c[2]!=0&&c[3]!=0)
arr.push_back(c[2]+c[3]);
if(c[3]!=0&&c[4]!=0)
arr.push_back(c[3]+c[4]);
if(c[3]!=0&&c[5]!=0)
arr.push_back(c[3]+c[5]);
if(c[4]!=0&&c[5]!=0)
arr.push_back(c[4]+c[5]);
if(c[6]!=0)
arr.push_back(c[6]);
sort(arr.begin(),arr.end());
cout<<arr[0];
}
Ly9AYXV0aGVyIGh1c3NlaW4gemF5ZWQgCgojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBuOwp2ZWN0b3I8bG9uZyBsb25nPiBjKDgsMTAwMDAwMyk7IC8vIGFyckMgdG8gc2F2ZSBjb3VudCBBLEIsQyxBQixBQyxDQixBQkMgYnV0IHB1dCBwcmljZSBpdCA7CnZlY3Rvcjxsb25nIGxvbmc+YXJyOyAgICAgLy9hcnIgdG8gc2F2ZSBwcmljZSBzdW0gaW5kZXggd2l0aCB0b2dldGhlciBmcm9tIGFyckMgCiAgICAgICAgICAgICAgICAgICAgICAgICAgLy90aGVuIGRvIEFCQwoKaW50IG1haW4oKQp7CglzdHJpbmcgcyxTPSIiOwoJaW50IGE9MCxiPTAsQz0wOwoJaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7CgljaW4gPj4gbjsKCglmb3IoaW50IGkgPSAwOyBpIDwgbjsgaSsrKQoJewoJCWludCB4OwoJCQoJCWNpbiA+PiB4ID4+IHM7CgkJUys9czsKCQkvLyBhcnJDLi4uLi4uLgoJCWlmKHMgPT0gIkEiKXsKCQkgIGlmKGNbMF0+eCkJCgkJICAgIGNbMF09eDt9CgkJZWxzZSBpZihzID09ICJCIil7CgkJCWlmKGNbMV0+eCkKCQkJY1sxXT14O30KCQllbHNlIGlmKHMgPT0gIkMiKXsKCQkJaWYoY1syXT54KQoJCQljWzJdPXg7fQoJCWVsc2UgaWYocyA9PSAiQUIiIHx8IHMgPT0gIkJBIil7CgkJCWlmKGNbM10+eCkKCQkJY1szXT14O30KCQllbHNlIGlmKHMgPT0gIkJDIiB8fCBzID09ICJDQiIpewoJCQlpZihjWzRdPngpCgkJCWNbNF09eDt9CgkJZWxzZSBpZihzID09ICJBQyIgfHwgcyA9PSAiQ0EiKXsKCQkJaWYoY1s1XT54KQoJCQljWzVdPXg7fQoJCWVsc2V7CgkJICAgICBpZihjWzZdPngpCgkJCWNbNl09eDt9CgkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgkvL2lmIGRvbnQgZm91bmQgQSBvciBCIG9yIEMgcHJpbnQgLTE7Cglmb3IoaW50IGk9MDtpPFMuc2l6ZSgpOysraSl7CgkJaWYoU1tpXT09J0EnKQoJCWErKzsKCQllbHNlIGlmKFNbaV09PSdCJykKCQliKys7CgkJZWxzZQoJCUMrKzsKCSAgICAgICAgICAgICAgICAgICAgICAgfQoJCglpZihhPT0wfHxiPT0wfHxDPT0wKXsKCQljb3V0PDxhOwoJCWNvdXQ8PC0xOwoJCXJldHVybiAwOwoJfQoJLy8gYXJyIHByaWNlIHRoZW4gZm91bmQgbm93CglpZihjWzBdIT0wJiZjWzFdIT0wJiZjWzJdIT0wKQogICAgICAgICAgICAgICBhcnIucHVzaF9iYWNrKGNbMF0rY1sxXStjWzJdKTsKCWlmKGNbMF0hPTAmJmNbNF0hPTApCgkgIGFyci5wdXNoX2JhY2soY1swXStjWzRdKTsKCWlmKGNbMV0hPTAmJmNbNV0hPTApCgkgIGFyci5wdXNoX2JhY2soY1sxXStjWzVdKTsKCWlmKGNbMl0hPTAmJmNbM10hPTApCgkgIGFyci5wdXNoX2JhY2soY1syXStjWzNdKTsKCWlmKGNbM10hPTAmJmNbNF0hPTApCgkgIGFyci5wdXNoX2JhY2soY1szXStjWzRdKTsKCWlmKGNbM10hPTAmJmNbNV0hPTApCgkgIGFyci5wdXNoX2JhY2soY1szXStjWzVdKTsKCWlmKGNbNF0hPTAmJmNbNV0hPTApCgkgIGFyci5wdXNoX2JhY2soY1s0XStjWzVdKTsKCWlmKGNbNl0hPTApCgkgIGFyci5wdXNoX2JhY2soY1s2XSk7CgkgIAoJICBzb3J0KGFyci5iZWdpbigpLGFyci5lbmQoKSk7CgkgIGNvdXQ8PGFyclswXTsKfQ==