fork(2) download
  1. #include<bits/stdc++.h>
  2. #define ll long long int
  3. using namespace std;
  4. int main()
  5. {
  6. int t=1,i=0,j=0;
  7. cin>>t;
  8. while(t--){
  9. string s;
  10. cin>>s;
  11. ll count=0;
  12. int len=s.length();
  13. for(i=0;s[i]!='\0';++i){count+=(s[i]-'0');} //sum of whole digit
  14. int k=-1; //stores index to be deleted
  15. for(i=0;i<len-1;++i){ //traverse string n-1
  16. if(i==len-2)j=len-3;else j=len-2;
  17. //if number is odd it will filter out in next step at k==-1
  18. if(((count-(s[i]-'0'))%3==0)&&((s[j]-'0'+0)%2==0)&&(s[i]<s[i+1])){
  19. k=i;break;
  20. }
  21. }
  22. if(k==-1){
  23. for(i=len-1;i>=0;--i){ //traverse string FROM LAST
  24. if(i==len-1)j=len-2;else j=len-1;
  25. if(((count-(s[i]-'0'))%3==0)&&((s[j]-'0'+0)%2==0)){
  26. k=i;break;
  27. }
  28. }
  29. if(k!=-1){
  30. for(i=0;i<len;++i){
  31. if(i==k)continue;
  32. cout<<s[i];
  33. }
  34. }
  35. else cout<<"-1";
  36. }
  37. else {
  38. for(i=0;i<len;++i){
  39. if(i==k)continue;
  40. cout<<s[i];
  41. }
  42. }
  43. cout<<"\n";
  44. }
  45. return 0;
  46. }
  47.  
Success #stdin #stdout 0s 2876KB
stdin
3
123
1000222
10003
stdout
12
000222
-1